我试图在下面的代码中使用sum,但是出现了以下错误:
“将实体化值转换为值类型'System.Int32'时失败,因为该值为空。结果类型的泛型参数或查询必须使用可空类型。”
我在“
这是我的
有什么办法解决这个问题吗?
“将实体化值转换为值类型'System.Int32'时失败,因为该值为空。结果类型的泛型参数或查询必须使用可空类型。”
Product_Order:
---------------- ----------- ---------
| ProductId | OrderId | Quantity |
---------------- ----------- ---------
我在“
let quantity
”处遇到了错误。 var fullInfo = (from product in allProdcts
let quantity = db.Product_Order.Where(x=> x.ProductId == product.ID).Sum(x => x.Quantity)
select new ReportVm
{
ProductId = product.ID,
ProductName = product.Name,
AmountProduct = quantity,
TotPrice = (quantity)*(product.Price)
}).ToList();
这是我的
Product_Order
表格(M-M关系):Product_Order:
---------------- ----------- ---------
| ProductId | OrderId | Quantity |
---------------- ----------- ---------
有什么办法解决这个问题吗?
Product_Order
POCO 类。重要的是要定义Quantity
属性(int
还是int?
)。 - Sefe(int?)
而不需要??
,即可在没有出现任何错误的情况下解决问题(但如果为null,则仍需要值0)。编辑:??
无法与此代码一起使用,我在提问之前尝试了它。但在该代码外部可以正常工作。还有其他解决方案吗? - fagol