使用LINQ左连接

8 linq lambda left-join

有人能举例说明如何使用LINQ/lambda表达式执行左连接操作吗?

Nol*_*rin 6

MSDN上的LINQ to SQL示例页面提供了如何实现此目的的示例.LINQ to Objects的代码应该完全相同.

这里的关键是打电话给DefaultIfEmpty.

Dim q = From e In db.Employees _
        Group Join o In db.Orders On e Equals o.Employee Into ords = Group _
        From o In ords.DefaultIfEmpty _
        Select New With {e.FirstName, e.LastName, .Order = o}
Run Code Online (Sandbox Code Playgroud)

如果您需要帮助将其转换为C#,请询问.