Есть ли прирост производительности преобразования поискового термина в нижний регистр перед тем, как LINQ


Пожалуйста, обратите внимание на следующие 2 фрагментов:

var query = _ctx.Notes.Where(...);    
var searchLower = searchTerms.ToLower();
query = query.Where(a => a.Comment.ToLower().Contains(searchLower))

против

var query = _ctx.Notes.Where(...);        
query = query.Where(a => a.Comment.ToLower().Contains(searchTerms.ToLower()))

Есть ли увеличение производительности путем преобразования условия поиска перед выполнением запроса LINQ?



1922
1
задан 21 декабря 2011 в 04:12 Источник Поделиться
Комментарии
1 ответ

А не содержит(), используйте метод indexOf() , который принимает компаратор:

var query = _ctx.Notes.Where(...);        
query = query.Where(a => a.Comment.IndexOf(searchTerms, StringComparison.OrdinalIgnoreCase) >= 0)

4
ответ дан 21 декабря 2011 в 04:12 Источник Поделиться