2011-09-20 119 views
0

我正在查詢幫助。 我有這個經典分類 - >產品 - > OrderDetails < - 訂單表格佈局。 (雖然沒有客戶表)不完整的LINQ查詢

什麼即時丟失是Categories.Name和Products.Name在該OrderItems列表中。你能幫忙嗎?

from o in Orders 
join od in OrderDetails on o.Id equals od.OrderId into oi 
      select new { 
         o.Id, 
         o.CustomerName, 
         OrderItems = oi 
      } 

回答

0

首先,你應該在你的數據庫中有合適的外鍵。

如果是這樣,你可以簡單地引用oi.Product.name和oi.Product.Category.Name

Howver,他們可能不會被加載由於LINQ2SQL和/或您的DataContext懶惰(延遲)加載在你引用它們時已經被處理了。

在這些情況下,您可以使用datacontext上的LoadOptions快速加載產品和類別以及orderitems,並且您都已設置。

+0

oi.Product.Name和oi.Product.Category.Name兩個都很棒!謝謝您的幫助! –

+0

linq2sql的美麗。只需簡要描述你的sql,確保你不需要大量的單個查詢而不是一個大的連接 – Pleun