C#のLinqでjoinを使用して内部結合と外部結合をする方法

DSC00839

2014年10月16日(木)

こんにちは、久しぶりの3日連続投稿。そしてまたこれから音沙汰がなくなると思いますが。

今回はLinqでjoinをしてみようと。まぁselectクエリつくるならこれぐらいは普通にできないと使い道がなくなっちゃいますよね。。。

でも大丈夫。Linqは結構すべて網羅できていますから。ただ詳しいところはフレームワークないに閉じ込められているのでまぁきちんとドキュメントを見てつかいこなしましょーってことで!

僕の方からはサンプルでわかりやすく使おう的な感じで紹介させていただきます!!

 

これは大体クエリを理解しているからは、この構文を見ると理解できるのではないかと思います。

using (DataContext data = new DataContext())
{
 var userdata = (from user in data.tbl_user
 // 内部結合
 join user_info in data.tbl_user_info on user.id equals user_info.user_id
 // 外部結合
 join t_order in data.tbl_order on t_order.user_id equals user.id into sub
 from t in sub.DefaultIfEmpty()
 where
 user.type == 1
 //&& t == null // tbl_orderがNullのみ抽出の場合
 select user);
}

とりあえず、これでLinqのselectに関してはなんとなく使用感を得られたと思います。

僕の方でもとりあえず次回更新はC#やLinq以外でいこうと思っているのでとりあえずここで一旦C#系統は終了しようと思います。

 

では、次回はどんな記事になるかわかりませんがまたよろしくお願いします。

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR