【C#】LINQにて結合(Join)条件を複数指定する方法

統合言語クエリ(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 });

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください