我从MYSQL数据库中提取了两个值。我有一个int和一个十进制...我该如何添加它们?
目前,我的代码是:
orderTotal += cartItem.Count * storeDB.Designs.Select(p => p.Price);
// countItem.Count = int
// storeDB.select = decimal
如何添加这些?我已经尝试了每种方式的类型铸造。任何帮助表示赞赏!
答案 0 :(得分:3)
.Select()
返回一个集合,即使它只包含一个项目,也不能转换为乘法的操作数。看看FirstOrDefault()
及其亲属返回标量。
如果您期待多个值,则在将结果乘以之前,您需要将Designs
与Sum()
进行汇总。
答案 1 :(得分:2)
storeDB.Designs.Select(p => p.Price)
的结果不是小数。这是一个IEnumerable<decimal>
。你的逻辑应该是这样的:
orderTotal += cartItem.Count *
storeDb.Designs.First(d => d.Id == cartItem.Id).Price;
请注意,如果数据库中没有具有正确ID(First
)的项目,cartItem.Id
将会抛出。