Linq-Version der SQL „IN“-Anweisung
In SQL wird die „IN“-Anweisung häufig zum Abfragen von Daten basierend auf einer Liste verwendet von Werten. In LINQ gibt es mehrere Möglichkeiten, ähnliche Funktionen zu erreichen, einschließlich der Verwendung der Methode „Contains()“.
Um eine LINQ-Abfrage zu schreiben, die Elemente basierend auf einer Liste von Tags übereinstimmt, kann die Methode „Contains()“ verwendet werden Der folgende Ansatz:
Definieren Sie ein Array oder eine Liste der gewünschten Tag-IDs:
var TagIds = new int[] {2, 3, 4, 7};
Erstellen Sie eine Abfrage, die die Elemente auswählt, die mit den angegebenen übereinstimmen Tag-IDs:
var q = from map in Context.TagMaps where TagIds.Contains(map.TagId) select map.Items;
In dieser Abfrage wird die Methode „Contains()“ verwendet, um zu prüfen, ob die TagId der aktuellen Zeile in der TagMap-Tabelle im TagIds-Array enthalten ist. Wenn es enthalten ist, wird die entsprechende Zeile in der Artikeltabelle ausgewählt.
Die resultierende Abfrage generiert eine „IN (12, 32, 42)“-Klausel in der SQL-Anweisung, die effizient für die Datenbank ausgeführt wird Filtern der Ergebnisse basierend auf den angegebenen Tag-IDs.
Das obige ist der detaillierte Inhalt vonWie repliziere ich die „IN'-Anweisung von SQL mit der Methode „Contains()' von LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!