为什么这个工作是左连接?

时间:2010-08-23 07:34:39

标签: linq-to-entities

我知道这个查询是作为左连接工作的。但更重要的是,我想知道为什么它作为左连接工作?查询执行如何流动?

 var query = from cust in objNorthwindEntities.Customers
                        join orders in objNorthwindEntities.Orders on cust equals orders.Customer
                        into groupedCust
                        select new
                        {
                            custName = cust.ContactName,
                            orders = groupedCust
                        };

查询包含cust equals orders.Customer,然后它如何作为左连接工作。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

  

为什么它作为左连接工作?

into子句中使用join关键字使其成为群组加入

来自MSDN

  

如果找不到来自正确源序列的元素与左侧源中的元素匹配,则join子句将为该项生成一个空数组。

所以它看起来像是一个左连接,但它实际上是一个组连接,这是一个没有直接关系等效的Linq特定功能。