2009-12-03 34 views
0

當與亞音速3.0羅斯文東西搞亂:關於產品羅斯文DB例如

var product = Product.SingleOrDefault(x => x.ProductID == 1); 

我發現了以下是可能的,但不是可行的),使用智能提示:

var product = Product.SingleOrDefault(x => x.OrderDetails == 1); 

訂單明細作爲成員產品,是一個IQueryable。我想我是LINQ的新手,但我想知道如何使用這個成員?每次我嘗試從這個信息中獲得信息,我都會收到錯誤信息。有人能給我一個如何使用Product的OrderDetails成員的例子嗎?也許把結果扔到一個數據綁定到一個Gridview?

請看下面的代碼,並告訴我,我做錯了什麼:

var products = from od in OrderDetail.All() 
        join p in Product.All() on od.ProductID equals p.ProductID 
        select od; 

我得到以下錯誤:

Object of type 'System.Single' cannot be converted to type 'System.Decimal'. 
+0

您收到的錯誤是什麼? – LiamGu

+0

這不是我得到一個特定的錯誤。我只想要如何使用Product的OrderDetails成員的任何示例。 例如,如果您說: Product x = new Product(); x.OrderDetails可以做些什麼?例如,我可以使用它顯示產品ID爲1的產品的所有訂單詳情嗎? – Mark

回答

1

由亞音速暴露的IQueriable成員是你的外國鍵。您可以按照以下方式使用它們。

Product.SingleOrDefault(x => x.ProductID == 1).OrderDetails.ToList()