Heim >Backend-Entwicklung >C++ >Wie kann die „Contains()'-Methode von LINQ eine „WHERE IN'-Klausel ersetzen?

Wie kann die „Contains()'-Methode von LINQ eine „WHERE IN'-Klausel ersetzen?

DDD
DDDOriginal
2025-01-06 17:53:43975Durchsuche

How Can LINQ's `Contains()` Method Replace a `WHERE IN` Clause?

Where IN-Klausel in LINQ

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn