2010-04-28 37 views
5

可以肯定地说LINQ中不存在正确的外连接吗?*正确* LINQ中的外连接

我知道要有效地创建一个,你只需在左外连接中交换表。但是,您可以将DefaultIfEmpty()方法应用于equijoin左侧的表以使其成为正确的外连接吗?

回答

4

经过广泛的研究,我发现没有任何一个指向右外连接。唯一可用于外部联接的语法是左外部联接。

+0

不完全正确 - 外连接的唯一语法是外连接。 LINQ中没有“左”或“右”加入。 – 2012-05-10 06:48:47

+0

@Kirk,如果你说没有类似于SQL的“右”或“左”关键字,你说得对,但我认为OP说左外连接是可能的,你只需使用DefaultIfEmpty,这样结果可以包括在内。 – 2013-01-05 01:09:56

+0

是的,除了生成的排序顺序外,它们是等价的。如果你想保留左边部分的排序顺序,那么你看起来运气不好。 – 2013-05-09 19:22:49