重複の可能性:
LINQ の LEFT OUTER JOIN
左外部結合でLINQクエリを作成するには?
左外部結合にはEnumerable.DefaultIfEmptyメソッドを使用できます。
表示される場合があります:方法: 左外部結合を実行する (C# プログラミング ガイド) - MSDN
MSDN の次の例を考えてみましょう。
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
class Pet
{
public string Name { get; set; }
public Person Owner { get; set; }
}
左外部結合クエリは次のようになります。
var query = from person in people
join pet in pets on person equals pet.Owner into gj
from subpet in gj.DefaultIfEmpty()
select new { person.FirstName, PetName = (subpet == null ? String.Empty : subpet.Name) };
var query = (from t1 in Context.Table1
join t2temp in Context.Table2 on t1.Id equals t2.Id into tempJoin
from t2 in tempJoin.DefaultIfEmpty()
select ...);