Mein Gehirn scheint jetzt Brei zu sein! Ich verwende LINQ zu Entität, und ich muss einige Daten aus einer Tabelle abrufen, die nicht in einer anderen Tabelle vorhanden ist.LINQ to Entity, Beitritt auf NOT IN Tabellen
Zum Beispiel: Ich brauche die groupID, groupname und groupnumber aus TABELLE A, wo sie nicht in TABELLE B vorhanden sind. Die groupID wird in TABELLE B zusammen mit anderen relevanten Informationen vorhanden sein. Die Tabellen haben keine Beziehung. In SQL wäre es ganz einfach sein (es ist eine elegante und effiziente Lösung, aber ich mag ein Bild von malen, was ich brauche)
SELECT
GroupID,
GroupName,
GroupNumber,
FROM
TableA
WHERE
GroupID NOT IN (SELECT GroupID FROM TableB)
Gibt es eine einfache/elegante Möglichkeit, dies mit dem Entity Framework zu tun/LINQ zu Entität? Im Moment habe ich eine Reihe von Anfragen, die die db treffen, dann vergleichen usw. Es ist ziemlich unordentlich.
Sollte die innere Klausel 'y => y.GroupID == x.GroupID' sein? (gibt false zurück, wenn es irgendwelche Einträge in 'TableB' mit dieser' GroupID' gibt) – Hannele
@Hannele Technisch ist es dasselbe und wahrscheinlich besser lesbar. Aus irgendeinem Grund wurde ich gebaut, um boolsche Logik rückwärts zu machen. – Nix
Ich stimme Hannele zu, ich denke es sollte wo sein (x =>! Context.TableB.Any (y => y.GroupID == x.GroupID)) – Sam