2016-11-11 15 views
0

我正在製作購物車,點擊Add to cart後,用戶被重定向到一個頁面,該頁面接受產品的id作爲GET參數,並基於此我想要檢索其價格,我喜歡這樣有EF:從表中獲取小數點

decimal price = Convert.ToDecimal(db.Products.Where(x => x.Id == productId).Select(x => x.Price)); 

然而,當我點擊Add to cart並擊中其重定向到URL,我得到這個錯誤在VS:

Unable to cast object of type 'System.Data.Entity.Infrastructure.DbQuery`1[System.Decimal]' to type 'System.IConvertible'. 

我是新來.NET所以我可能不被檢索以正確的方式來評價價格。

回答

2
var result = db.Products.FirstOrDefault(x => x.Id == productId); 

decimal? price = result?.Price; 

帶特定ID的產品,並在此之後如果存在他的價格。如果您使用的是以前的C#版本,則此語法有效,如果您使用的是C# 6.0if(result !=null) price = result.Price