我從MYSQL數據庫中提取兩個值。我有一個int和一個小數...我如何添加它們?在C#中添加兩個IQueryable(int/decimal)#
目前,我的代碼是:
orderTotal += cartItem.Count * storeDB.Designs.Select(p => p.Price);
// countItem.Count = int
// storeDB.select = decimal
如何添加這些?我已經嘗試過每種方式進行類型轉換。任何幫助表示讚賞!
我從MYSQL數據庫中提取兩個值。我有一個int和一個小數...我如何添加它們?在C#中添加兩個IQueryable(int/decimal)#
目前,我的代碼是:
orderTotal += cartItem.Count * storeDB.Designs.Select(p => p.Price);
// countItem.Count = int
// storeDB.select = decimal
如何添加這些?我已經嘗試過每種方式進行類型轉換。任何幫助表示讚賞!
storeDB.Designs.Select(p => p.Price)
的結果不是小數。這是一個IEnumerable<decimal>
。你的邏輯應該是這個樣子:
orderTotal += cartItem.Count *
storeDb.Designs.First(d => d.Id == cartItem.Id).Price;
請記住,如果沒有在用正確的ID(cartItem.Id
)數據庫中的一個項目First
將拋出。
如果Price是小數點,則不是。這將是一個IQueryable
@Dismissile,是的,我注意到並修復它之前有人注意到(或所以我認爲;-) – 2010-11-17 21:20:28
.Select()
返回一個集合,即使它只包含一個項目,該集合也不能轉換爲乘法操作數。看看FirstOrDefault()
和它的親族,它們會返回標量。
如果你期待多個值,你需要的結果乘以之前的東西聚集Designs
像Sum()
。
編輯修正'代碼'佈局和語法風格。 – jcolebrand 2010-11-17 21:12:48
@ user498351歡迎來到StackOverflow,希望你找到你喜歡的。 – jcolebrand 2010-11-17 21:13:12
真的很難說這裏發生了什麼。請向我們展示這些表格的樣子,給我們一些示例數據,以及您要查找的輸出內容。 – 2010-11-17 21:13:26