Maison > développement back-end > C++ > Comment la méthode « Contains() » de LINQ peut-elle remplacer une clause « WHERE IN » ?

Comment la méthode « Contains() » de LINQ peut-elle remplacer une clause « WHERE IN » ?

DDD
Libérer: 2025-01-06 17:53:43
original
973 Les gens l'ont consulté

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

Clause Where IN dans LINQ

Lorsque vous travaillez avec des bases de données, vous pouvez rencontrer le besoin d'utiliser la clause WHERE IN pour filtrer les résultats en fonction de plusieurs critères. Cela peut être facilement réalisé dans LINQ (Language Integrated Query) en utilisant la méthode Contains().

Pour illustrer, supposons que vous souhaitiez récupérer tous les États qui appartiennent à une liste spécifique de codes de pays. Au lieu de diviser manuellement les codes de pays et de les parcourir en boucle comme indiqué dans le code d'origine :

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;
}
Copier après la connexion

Vous pouvez simplifier ce processus en utilisant la méthode Contains() :

dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
Copier après la connexion

Cette expression récupère tous les États dont les codes de pays sont présents dans la collection countryCodes. L'expression lambda (s => countryCodes.Contains(s.CountryCode)) est évaluée comme vraie pour chaque état qui correspond aux critères spécifiés, vous permettant de filtrer les résultats en conséquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal