首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用实体框架的LINQ,得到计算的和

问使用实体框架的LINQ,得到计算的和
EN

Stack Overflow用户
提问于 2012-08-27 13:11:53
回答 1查看 5.3K关注 0票数 2

我有以下数据:

​

​

数字可以为空

因此,我正在编写LINQ语句,以获得以下数字:

  • 100加上因子110等于110
  • 200与因子90为180。

所需结果: 290

我的LINQ语句当前如下所示:

代码语言:javascript
复制
(from b in data
where b.Number.HasValue
select new
{
    Number = b.Number.Value,
    b.Factor
}).Sum(o => o.Number * (o.Factor / 100));

我得到以下错误:

转换为值类型'Decimal‘失败,因为物化值为null。结果类型的泛型参数或查询必须使用可空类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-27 13:11:53

这个问题可以通过这样的方式来解决:

代码语言:javascript
复制
(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;

(注:我在写问题的时候找到了答案,我想我最好把答案写出来,然后公布给其他人。)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12142659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档