左外连接问题

时间:2010-04-30 06:59:13

标签: linq

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

1 个答案:

答案 0 :(得分: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};

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