gpt4 book ai didi

Linq 错误泛型参数或查询必须使用可空类型

转载 作者:行者123 更新时间:2023-12-03 14:37:04 24 4
gpt4 key购买 nike

在 LINQ 中使用 sum 函数时出现此错误:

The cast to value type 'Decimal' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.


GroupProduct.Where(a => a.Product.ProductID==1).Sum(Content => Content.Amount==null?0:Content.Amount),

最佳答案

这是我通常使用的。这将涵盖Amount的可能性为空并且还涵盖了空集的可能性。

GroupProduct.Where(a => a.Product.ProductID == 1)
.Select(c => c.Amount ?? 0) // select only the amount field
.DefaultIfEmpty() // if selection result is empty, return the default value
.Sum(c => c)
DefaultIfEmpty()返回与 Amount 关联的默认值的类型,即 int ,在这种情况下,默认值为 0 .

关于Linq 错误泛型参数或查询必须使用可空类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com