tags:

views:

68

answers:

1

I need to convert some SQL statement to LINQ. How convert LEFT OUTER JOIN to equivalent LINQ statement?

+1  A: 

You need to use the DefaultIfEmpty operator. The below code should result in a left outer join.

var q = from c in customers
            join o in orders on c.Key equals o.Key into g
            from o in g.DefaultIfEmpty()
            select new {Name = c.Name, OrderNumber = o == null ? "(no orders)" :     o.OrderNumber};

Credit to: http://www.hookedonlinq.com/OuterJoinSample.ashx

David Neale