加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

linq-to-sql – Linq to Sql Sum没有记录

发布时间:2020-12-12 06:38:03 所属栏目:MsSql教程 来源:网络整理
导读:我正在创建一种方法来收集整个月的累计总数.问题是某个月内某些项目可能没有收费,因此不会返回任何行. 我可以看到没有数据会出现这种错误: double fuelCost = (double)(from a in db.EquipmentFuelLogs where a.wdEquipmentMainGeneralOID == vehicleKey (mo
我正在创建一种方法来收集整个月的累计总数.问题是某个月内某些项目可能没有收费,因此不会返回任何行.

我可以看到没有数据会出现这种错误:

double fuelCost = (double)(from a in db.EquipmentFuelLogs
                           where a.wdEquipmentMainGeneralOID == vehicleKey &&    
                                (monthBeginDate < a.Date1 && a.Date1 < monthEndDate)
                           select a.TotalCost).Sum();

检测当月没有燃料交易并将燃料成本设定为0的最佳方法是什么?试试看吧? This article谈到了这个问题,但没有解决方案.

解决方法

问题是因为where返回没有序列因此总和不能工作,但是如果在sum之前使用.DefaultIfEmpty它可以正常工作.
decimal? orderValue = 
    orders.Where(ee => ee.Name == "SomeName").DefaultIfEmpty().Sum(s => s.OrderCost);

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读