左外连接问题

Ogn*_*jen 13 linq

我需要将一些SQL语句转换为LINQ.如何将LEFT OUTER JOIN转换为等效的LINQ语句?

Dav*_*ale 18

您需要使用DefaultIfEmpty运算符.下面的代码应该导致左外连接.

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};
Run Code Online (Sandbox Code Playgroud)

感谢:http://www.hookedonlinq.com/OuterJoinSample.ashx