0

重複の可能性:
LINQ の LEFT OUTER JOIN

左外部結合でLINQクエリを作成するには?

4

2 に答える 2

10

左外部結合には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) };
于 2013-01-29T05:23:17.833 に答える
4
 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 ...);
于 2013-01-29T05:25:37.537 に答える