Nie*_*nch 2 c# linq linq-to-entities entity-framework sum
我有以下数据:

数字可以为NULL
我正在编写LINQ语句以获得以下数字:
需要的结果:290
我的LINQ语句目前看起来像这样:
(from b in data
where b.Number.HasValue
select new
{
Number = b.Number.Value,
b.Factor
}).Sum(o => o.Number * (o.Factor / 100));
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
转换为值类型'Decimal'失败,因为具体化值为null.结果类型的泛型参数或查询必须使用可空类型.
这可以通过像这样强制转换Sum的内容来修复:
(from b in data
where b.Number.HasValue
select new
{
Number = b.Number.Value,
b.Factor
}).Sum(o => (decimal?)(o.Number * ((decimal)o.Factor / 100))) ?? 0;
Run Code Online (Sandbox Code Playgroud)
(注意:我在写这个问题的过程中找到了答案,并认为我可能会制定一个答案并将其发布给其他人找到)
| 归档时间: |
|
| 查看次数: |
5174 次 |
| 最近记录: |