2010-04-28 50 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