ホームページ >バックエンド開発 >C++ >LINQ の `Contains()` メソッドはどのようにして `WHERE IN` 句を置き換えることができるのでしょうか?

LINQ の `Contains()` メソッドはどのようにして `WHERE IN` 句を置き換えることができるのでしょうか?

DDD
DDDオリジナル
2025-01-06 17:53:431013ブラウズ

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

LINQ の WHERE IN 句

データベースを操作する場合、複数の基準に基づいて結果をフィルタリングするために WHERE IN 句を使用する必要が生じる場合があります。これは、LINQ (統合言語クエリ) で Contains() メソッドを使用して簡単に実現できます。

例として、国コードの特定のリストに属するすべての州を取得するとします。元のコードのように手動で国コードを分割してループする代わりに、

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;
}

Contains() メソッドを使用してこのプロセスを簡素化できます。

dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))

この式countryCodes コレクションに国コードが存在するすべての州を取得します。ラムダ式 (s => countryCodes.Contains(s. CountryCode)) は、指定された基準に一致する各州に対して true と評価されるため、それに応じて結果をフィルタリングできます。

以上がLINQ の `Contains()` メソッドはどのようにして `WHERE IN` 句を置き換えることができるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。