Wednesday, 6 November 2013

LEFT JOIN in LINQ to Entities?

DefaultIfEmpty is used for left joins for EntityFramework 4+

var query = from u in context.Users
    from a in context.Addresses
          .Where(x => u.Primary2Address == x.AddressiD)
          .DefaultIfEmpty()
    from s in context.States
          .Where(x => a.Address2State == x.StateID)
          .DefaultIfEmpty()
    from c in context.Countries
          .Where(x => a.CountryID == x.CountryID)
          .DefaultIfEmpty()
select u.UserName;
 
 

No comments:

Post a Comment