LINQ enthält eine übereinstimmung von array von strings

Schwierigkeiten haben, diese zu arbeiten:

    ///<summary>
    ///Retrieve search suggestions from previous searches
    ///</summary>
    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;
    }

Bekomme ich:

System.NotSupportedException: Lokale Sequenz nicht verwendet werden, in LINQ to SQL-Implementierungen von query-Operatoren mit Ausnahme der operator "Enthält" verwendet.

Ich möchte die Datensätze zurückgeben, in denen das Feld c.Term enthält eines der Wörter in der Words array. Ich würde auch gerne bestellt, durch die Gesamtzahl der Spiele, aber das scheint wirklich schwer zu tun! Ich fand dieser MSDN. Aber ich kann es nicht zu funktionieren mit meinem query. Auch dies fand aber es funktioniert nicht.

  • Diese syntax sieht gut aus für mich. Ich portiert es zu einigen lokalen code und war in der Lage, eine identische Abfrage gegen eine meiner eigenen Kontexte. (mit framework 3.5)
  • Ich bin auf der 4-framework und dieses den Fehler auslöst zitiert 🙁
  • Ist c.Begriff nur einen einfachen string-Wert?
  • ja, es ist vom Datentyp nvarchar(60)
  • Ist es eine Zeichenfolge mit mehr als einem Wort in ihm?
InformationsquelleAutor Tom Gullen | 2011-09-09
Schreibe einen Kommentar