Es ist eine Weile her, seit ich Entity Frameworks und LINQ verwendet habe. Ich versuche eine SQL-ähnliche Abfrage durchzuführen. Dies funktioniert in einer 1: n-Beziehung, die über einen Fremdschlüssel in der übergeordneten Tabelle definiert wird.LINQ enthält keine ähnliche Anweisung
myEntity.Where(me => me.relatedEntity.Name.Contains("a");
Dies führt richtig auf eine wie in SQL. Wenn ich jedoch eine Viele-zu-Viele-Beziehung über eine Junction-Tabelle abfrage, erstellt sie eine Gleichheitsanweisung in SQL.
var name = "bo";
myEntity.Where(me => me.Users.Select(u => u.Name).Contains(name));
Fehle ich etwas offensichtlich?
Dank
Die zweite Version, die Sie überprüfen, ob eine Entität in der Sammlung von Namen enthält den Namen, der in der Tat ein gleich ist. Du solltest "me.Users.Any" (u => u.Name.Contains (name)) ' –