LINQ содержит одно совпадение из массива строк

Сложно заставить это работать:

    /// 
    /// 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. Но я не могу заставить его работать и со своим запросом. Также нашел это, но оно не работает .

9
задан Community 23 May 2017 в 11:43
поделиться