ホームページ > バックエンド開発 > C++ > LINQ で複数フィールド結合を実行するにはどうすればよいですか?

LINQ で複数フィールド結合を実行するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-24 02:17:11
オリジナル
154 人が閲覧しました

How Can I Perform a Multi-Field Join in LINQ?

LINQ マルチフィールド接続の詳細説明

LINQ (言語統合クエリ) は、データをクエリするための強力かつ表現力豊かな方法を提供します。その重要な機能の 1 つは、join 句を使用して複数のデータ ソースからのデータを結合できることです。従来の結合には通常、単一フィールドの結合が含まれますが、LINQ では複数フィールドの結合も実装できます。

次のシナリオを想定します。LINQ クエリを実行して 2 つのテーブル entityentity2 を結合する必要があります。ここで、entityfield1 フィールドと field2 フィールドは in entity2 field1 フィールドと一致します。 field2

これを行うには、次の構文を使用できます:

<code class="language-csharp">var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }</code>
ログイン後にコピー
匿名型

は、{ x.field1, x.field2 } テーブルの entityfield1 の値を結合する複合キーを作成します。このキーの組み合わせは、field2 テーブルのキーの組み合わせ entity2 と比較されます。 { y.field1, y.field2 }

このメソッドは等結合を前提としており、結合フィールドの値は同じである必要があることに注意してください。日付範囲クエリなどの非等価結合が必要な場合は、

句に追加の条件を追加できます。 where

たとえば、

entityentity2 を連結し、field1 内の field2 フィールドが指定された範囲内にあることを確認するには、次のようにします: entity date

この構文により、柔軟で強力なデータ操作が可能になり、必要に応じて複数のフィールドのデータを結合し、追加の制約を適用できます。
<code class="language-csharp">var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }
             where x.date >= startDate && x.date <= endDate;</code>
ログイン後にコピー

以上がLINQ で複数フィールド結合を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート