我知道这个查询是作为左连接工作的。但更重要的是,我想知道为什么它作为左连接工作?查询执行如何流动?
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
,然后它如何作为左连接工作。
提前致谢:)
答案 0 :(得分:3)
为什么它作为左连接工作?
在into
子句中使用join
关键字使其成为群组加入:
来自MSDN
如果找不到来自正确源序列的元素与左侧源中的元素匹配,则join子句将为该项生成一个空数组。
所以它看起来像是一个左连接,但它实际上是一个组连接,这是一个没有直接关系等效的Linq特定功能。