0
我試圖用LoadWith和AssociateWith DataLoadOptions加載實體及其相關屬性(基本一對多)。但是,在查看生成的SQL之後,我注意到由LoadWith生成的語句都是Left Outer Joins。
因此,下面的代碼會生成所有左外連接以獲取關聯屬性的數據。這是爲什麼?是否有任何方法讓LoadWith生成內部連接。我知道我可以通過一個簡單的「Linq join」來實現,但是,我喜歡LoadWith語法的簡潔和簡單。在此先感謝
dataLoadOptions.LoadWith(Of TCustomer)(Function(c) c.Orders)
dataLoadOptions.LoadWith(Of TOrder)(Function(o) o.Products)
dataLoadOptions.LoadWith(Of TProduct)(Function(p) p.ProductTranslations)
dataLoadOptions.AssociateWith(Of TProduct)(Function(c) c.ProductTranslations.Where(Function(t) t.Language = "En"))
。 LINQ to SQL生成外部連接似乎很合理,因爲在內部連接的情況下,沒有訂單的客戶將無法獲取。也許你應該解釋你想達到的目標。 – Steven 2010-08-03 14:01:30
對不起,我應該更清楚。我想要的是恢復所有客戶的英文產品翻譯存在的訂單。至於外連接,我認爲Linq應該允許我明確地構造外連接或內連接。對不起如果這仍然不清楚。 – Buzzer 2010-08-03 18:19:53