"Methode 'Boolean Enthält (System.String)' hat keine unterstützte Übersetzung in SQL."Methode 'Boolean Enthält (System.String)' hat keine unterstützte Übersetzung in SQL
Abfrage ist IsQueryable aber das funktioniert nicht:
foreach (string s in collection1)
{
if (s.Length > 0)
{
query = query.Where(m => m.collection2.Contains(s));
}
}
UPDATE: es funktioniert, wenn ich Abfrage "IEnumerable" machen statt IQueryable. Was wäre der Weg, um dasselbe Ergebnis mit linq zu erhalten, anstatt die Schleife zu durchlaufen?
Können Sie nach, was Ihre Frage ist, bevor es in dieser Schleife geht? –
Mit reinem LINQ ändert sich nichts - es hat auch das gleiche Problem. Aus unbekanntem Grund, wenn LINQ "seltsame" Sammlung als HashSet erkennt, wird sie nicht als IEnumerable verwendet, der Benutzer muss seine Sammlung direkt in IEnumerable konvertieren - dann wird Containts korrekt in SQL übersetzt (IN ich nehme an). – greenoldman