Hier ist meine Frage:Fehler mit Entity Framework .Any() filtern
var x = db
.Users
.Where(u => u.Locations.Any(l => searchedLocation.Counties.Any(c => c.LocationId == l.LocationId));
Kontext:
Users
istIQueryable<User>
. (EF Objekt eingestellt)- ist ein
Location
Objekt. Counties
ist einICollection<MiniLocation>
.
Was ich versuche zu tun:
Return alle Benutzer, wenn eine der Counties für diese Standorte haben eine LocationID einer der Grafschaften zu dem gesuchten Ort gehören.
Beispiel:
Suche nach New York City (LocationID = 1. County1LocationId = 2)
Benutzer: Bob. Standorte: Soho. County1LocationId = 2. County2 LocationId = 3.
Das ist also ein Treffer. (Weil Soho eine County mit einem LocationID von 2, und so auch NYC)
Fehler i erhalten:
kann nicht einen konstanten Wert des Typs 'xxx.xxx.Locations.MiniLocation' schaffen . Nur primitive Typen ('wie Int32, String und Guid') werden in diesem Kontext unterstützt.
Irgendwelche Ideen?
Haben Sie versucht, mit .join()? –