没有记录的 Linq to Sql Sum

2023-11-20

我正在创建一种收集整个月累计总数的方法。问题是给定月份的某些项目可能不收费,因此不会返回任何行。

我可以看到在没有数据的情况下这会如何出错:

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

检测该月无燃料交易并将燃料成本设置为 0 的最佳方法是什么?只是尝试一下吗?本文谈到了问题但没有解决方案。


问题是因为 where 没有返回任何序列,因此总和无法工作,但是如果您使用.DefaultIfEmpty在求和之前它工作正常。

decimal? orderValue = 
    orders.Where(ee => ee.Name == "SomeName").DefaultIfEmpty().Sum(s => s.OrderCost);

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

没有记录的 Linq to Sql Sum 的相关文章

随机推荐