Heim >Backend-Entwicklung >C++ >Wie kann die „Contains()'-Methode von LINQ eine „WHERE IN'-Klausel ersetzen?
Bei der Arbeit mit Datenbanken kann es erforderlich sein, die WHERE IN-Klausel zu verwenden, um Ergebnisse basierend auf mehreren Kriterien zu filtern. Dies kann in LINQ (Language Integrated Query) einfach mit der Methode „Contains()“ erreicht werden.
Zur Veranschaulichung: Angenommen, Sie möchten alle Bundesstaaten abrufen, die zu einer bestimmten Liste von Ländercodes gehören. Anstatt die Ländercodes manuell aufzuteilen und zu durchlaufen, wie im Originalcode:
public List<State> Wherein(string listofcountrycodes) { string[] countrycode = null; countrycode = listofcountrycodes.Split(','); List<State> statelist = new List<State>(); for (int i = 0; i < countrycode.Length; i++) { _states.AddRange( from states in _objdatasources.StateList() where states.CountryCode == countrycode[i].ToString() select new State { StateName = states.StateName }); } return _states; }
Sie können diesen Vorgang mit der Methode „Contains()“ vereinfachen:
dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
Dieser Ausdruck Ruft alle Bundesstaaten ab, deren Ländercodes in der CountryCodes-Sammlung vorhanden sind. Der Lambda-Ausdruck (s => countryCodes.Contains(s.CountryCode)) ergibt für jeden Staat, der den angegebenen Kriterien entspricht, „true“, sodass Sie die Ergebnisse entsprechend filtern können.
Das obige ist der detaillierte Inhalt vonWie kann die „Contains()'-Methode von LINQ eine „WHERE IN'-Klausel ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!