LINQ で複数のフィールドを単一の結合で結合する方法 質問する

LINQ で複数のフィールドを単一の結合で結合する方法 質問する

複数のフィールドを結合するLINQ2DataSetクエリを実行する必要があります(

var result = from x in entity
join y in entity2 
       on x.field1 = y.field1 
and 
          x.field2 = y.field2

私はまだ適切な解決策を見つけていません(where句に追加の制約を追加できますが、これは適切な解決策からは程遠いです。または、これ解決策ですが、これは等価結合を前提としています。

LINQ では、1 回の結合で複数のフィールドを結合することは可能ですか?

編集

var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 }

これは、上で等価結合を前提として参照したソリューションです。

さらに編集

私の最初の例が等価結合であるという批判に答えると、現在の要件は等価結合であり、上で参照したソリューションをすでに採用していることを認めます。

しかし、私は LINQ でどのような可能性とベスト プラクティスを利用できるか、また利用すべきかを理解しようとしています。まもなくテーブル ID を使用した日付範囲クエリ結合を実行する必要があり、その問題を先取りしていました。where 句に日付範囲を追加する必要があるようです。

いつものように、ご提案やコメントをいただきありがとうございます

ベストアンサー1

var result = from x in entity
   join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 }

おすすめ記事