C#
LINQ

LINQでのJOINについての備忘録

More than 1 year has passed since last update.

メモ書きとして内部結合と外部結合をそれぞれ。
あってるのか怪しいので間違いあればご指摘お願いいたします。

内部結合
var innerRecords = from human in humanList
                       join pc in pcList
                           on human.PcId equals pc.Id
                   where Pc.Id == "2"
                   select new {
                                    human.Name
                                  , pc.Name
                              };
外部結合
var outerRecords = from human in humanList
                       join pc in pcList
                            on human.PcId equals pc.Id into subPcList
                   from pc in subPcList.DefaultIfEmpty()
                   where pc.Id == "2"
                   select new {
                                    human.Name
                                  , pc.Name
                              };


参考: 左外部結合の実行 | Microsoft Docs