統合言語クエリ(Language INtegrated Query:LINQ)は、.NET Framework 3.5から追加された機能で、シンプルなコードでデータの問合せを行うことができる。
C#独自の機能であり、SQLで出来ることが、基本的に出来る感じ。
今回は、LINQを使って結合(Join)条件を複数指定する方法で迷ったのでメモ。
LINQにて結合(Join)条件を複数指定する方法
以下の書き方で出来る。
// クエリ構文var lists = from A in Table_A join B in Table_B on new { A.Key1, A.Key2 } equals new { B.Key1, B.Key2 }
// メソッド構文var lists = from A in Table_A.Join( Table_B, A => new { A.Key1, A.Key2 }, B => new { B.Key1, B.Key2 }, ( A, B ) => new { A, B });