Это поздний ответ, но я считаю, что он все еще полезен .
Я создал пакет Nuget для NinjaNye.SearchExtension , который может помочь решить эту проблему.
string[] terms = new[]{"search", "term", "collection"};
var result = context.Table.Search(terms, x => x.Name);
Вы также можете искать несколько строковых свойств
var result = context.Table.Search(terms, x => x.Name, p.Description);
Или выполните RankedSearch
, который возвращает IQueryable<IRanked<T>>
, который просто включает в себя свойство, которое показывает, сколько раз появлялись условия поиска:
//Perform search and rank results by the most hits
var result = context.Table.RankedSearch(terms, x => x.Name, x.Description)
.OrderByDescending(r = r.Hits);
Надеюсь, что это поможет будущим посетителям