SQL の "IN" ステートメントの Linq バージョン
SQL では、"IN" ステートメントは通常、リストに基づいてデータをクエリするために使用されます。価値観の。 LINQ では、Contains() メソッドの使用など、同様の機能を実現する方法がいくつかあります。
Contains() メソッドを使用して、タグのリストに基づいて項目と一致する LINQ クエリを作成するには、次のコマンドを使用できます。次のアプローチ:
必要なタグ ID の配列またはリストを定義します:
var TagIds = new int[] {2, 3, 4, 7};
クエリを作成します。指定されたタグ ID に一致する項目を選択します:
var q = from map in Context.TagMaps where TagIds.Contains(map.TagId) select map.Items;
このクエリでは、Contains() メソッドを使用して、TagMap テーブルの現在の行の TagId が TagIds 配列に含まれているかどうかを確認します。これが含まれている場合、Items テーブル内の対応する行が選択されます。
結果のクエリにより、データベースに対して実行される SQL ステートメントに "IN (12, 32, 42)" 句が効率的に生成されます。指定されたタグ ID に基づいて結果をフィルタリングします。
以上がLINQ の Contains() メソッドを使用して SQL の 'IN' ステートメントをレプリケートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。