LINQ к SQL оценивают МЕЖДУ двумя двойными значениями

"Поскольку конкатенация строк видела большие повышения производительности..."

, Если производительность имеет значение, это хорошо для знания.

Однако проблемы производительности, которые я, никогда видел не сводились к строковым операциям. Я обычно входил в проблему с вводом-выводом, сортировкой и O ( <глоток> n 2 ) операции, являющиеся узкими местами.

, Пока строковые операции не являются ограничителями производительности, я буду придерживаться вещей, которые очевидны. Главным образом это - замена, когда это - одна строка или меньше, конкатенация, когда это имеет смысл и шаблонный инструмент (как Мако), когда это является большим.

15
задан Andrew Hare 12 September 2009 в 11:43
поделиться

2 ответа

Как насчет этого:

var result = from db.MyTable.Where(d => (double)d.Price >= minValue 
                                         && (double)d.Price <= maxValue)
23
ответ дан 1 December 2019 в 02:10
поделиться

Просто для полноты; если вы строите запрос на основе различных входных данных, вы можете составить его с последовательными Где вызывает:

IQueryable<SomeType> query = db.MyTable;
if(minValue != null) // a Nullable<double>
{
    var actualMin = minValue.Value;
    query = query.Where(d => (double) d.Price >= actualMin);
}
if(maxValue != null) // a Nullable<double>
{
    var actualMax = maxValue.Value;
    query = query.Where(d => (double) d.Price <= actualMax);
}
// keep working with "query", for example, query.ToList();
7
ответ дан 1 December 2019 в 02:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: