Сложно заставить это работать:
///
/// Retrieve search suggestions from previous searches
///
public static string[] getSearchSuggestions(int SectionID, string Query)
{
string[] Suggestions;
string[] Words = Query.Split(' ');
using (MainContext db = new MainContext())
{
Suggestions = (from c in db.tblSearches
where c.SectionID == SectionID &&
Words.Any(w => c.Term.Contains(w))
select c.Term).ToArray();
}
return Suggestions;
}
Я получаю:
System.NotSupportedException: Локальная последовательность не может быть использована в SQL реализациях операторов запроса в LINQ, кроме оператора Contains.
Я хочу вернуть записи, в которых поле c.Term
содержит любое из слов в массиве Words
. Я также хотел бы, чтобы оно было упорядочено по общему количеству совпадений, но это кажется действительно трудным! Я нашел этот MSDN. Но я не могу заставить его работать и со своим запросом. Также нашел это, но оно не работает .