ホームページ >データベース >mysql チュートリアル >LINQを使用してSQLの「IN」ステートメントを実装するにはどうすればよいですか?

LINQを使用してSQLの「IN」ステートメントを実装するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-30 12:19:10847ブラウズ

How to Implement SQL's

SQL "IN" ステートメントの Linq 実装

テーブル Items、Tags、TagMap を含むタグ付けスキーマのコンテキストで、次のことを求めます。指定されたタグ ID のリストに対応する項目を取得する LINQ クエリ。 SQL では、これは通常、IN ステートメントを使用して実現されます。

これを LINQ に変換するには、Contains() メソッドを利用できます。次の例を考えてみましょう。

var TagIds = new int[] {12, 32, 42};

var q = from map in Context.TagMaps
        where TagIds.Contains(map.TagId)
        select map.Items;

このクエリ内:

  • Context.TagMaps は TagMap テーブルを表します。
  • where 句は、TagId プロパティが各 TagMap インスタンスは、必要なタグ ID の TagIds 配列に含まれます。
  • select 句一致する各 TagMap の Items プロパティを取得します。

このクエリは、次のような SQL IN ステートメントを生成します。

SELECT * FROM Items
WHERE TagId IN (12, 32, 42)

結果のクエリは、少なくとも 1 つを持つアイテムを返します。指定されたリスト内の ID を持つタグ。

以上がLINQを使用してSQLの「IN」ステートメントを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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