我需要将一些SQL语句转换为LINQ。如何将LEFT OUTER JOIN转换为等效的LINQ语句?
答案 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};