Possible Duplicate:
LEFT OUTER JOIN in LINQ
How to make LINQ query with left outer joins?
Possible Duplicate:
LEFT OUTER JOIN in LINQ
How to make LINQ query with left outer joins?
You can use Enumerable.DefaultIfEmpty Method for left outer join.
You may see: How to: Perform Left Outer Joins (C# Programming Guide) - MSDN
Consider the following example from 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; }
}
Left outer join query can be:
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 ...);