Linq-Übersetzung der SQL-„IN“-Anweisung
Im Bereich der Datenmanipulation ist die SQL-„IN“-Anweisung ein leistungsstarkes Werkzeug für Abgleichen von Zeilen mit einer Liste spezifischer Werte. Diese Funktion kann mit der Methode „Contains“ nahtlos in LINQ (Language Integrated Query) übersetzt werden.
Betrachten wir ein Beispielschema, das aus drei Tabellen besteht: „Items“, „Tags“ und „TagMap“. Angenommen, wir haben eine Liste von TagIds und möchten passende „Items“ abrufen. In SQL könnten wir eine „IN“-Anweisung verwenden, wie zum Beispiel:
SELECT * FROM Items WHERE TagId IN (2,3,4,7)
Um mit LINQ das gleiche Ergebnis zu erzielen, können wir die folgende Abfrage verwenden:
var TagIds = new int[] {2,3,4,7}; var query = from tagMap in Context.TagMaps where TagIds.Contains(tagMap.TagId) select tagMap.Items;
This LINQ Die Abfrage generiert effektiv eine „IN (2,3,4,7)“-Klausel. Die Methode „Contains“ prüft, ob die angegebene TagId in der bereitgestellten Liste vorhanden ist, und filtert dadurch die Zeilen entsprechend.
Die resultierende Abfrage ruft die gewünschten „Items“ ab, die mit der angegebenen Liste von TagIds übereinstimmen. Dies zeigt die Leistungsfähigkeit von LINQ, komplexe Datenabrufvorgänge präzise und effizient durchzuführen.
Das obige ist der detaillierte Inhalt vonWie übersetzt LINQ die „IN'-Anweisung von SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!