Ich habe eine Suchseite, auf der ein Benutzer mehrere durch Komma getrennte Städte eingeben kann, und wir müssen alle Immobilien abrufen, bei denen die Stadt eine ist, die in den Suchkriterien eingegeben wurde. Zum Beispiel wird der Benutzer so etwas eingeben
Städte = Dallas, Austin
Die Abfrage, die ich habe, funktioniert einwandfrei, wenn der Benutzer einen vollständigen Städtenamen eingibt
var cityList = neue Liste {"Dallas", "Austin"}; var properties = Reporsitory.AsQueryable .Where (x => cityList.Contains (x.City)) .ToList ();
Wenn ich jedoch nur Dal, Aus betrete, funktioniert es nicht. Wie kann ich diese Teilsuche zum Laufen bringen? Ist Dynamic LINQ die einzige Antwort? Vielen Dank!
var properties = Reporsitory.AsQueryable().Where(x => cityList.Count(c => x.StartsWith(c)) != 0);
Oder ersetzen Sie StartWith durch Enthält ...