[C#]linq.sum 请求异常

标签: sql Linq SQLServer C#
发布时间: 2017/2/27 4:10:06
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在数为每个结果行的值。

这里是我的要求︰

var resultat = _context.ODVCompteurs.Where(
                    odv => odv.SiteId == siteId && odv.DateODV >= firstDayOfMonth && odv.DateODV < lastDayOfMonth).Sum(x => x.NbrEntree);
return resultat;

一切工作正常,除了当 where 子句不会返回任何结果。我期望得到的结果的 '0' 和我捕获此异常︰

Null 不能指派给成员 System.Int32 类型,因为它是一个非可空值类型。

我可以轻而易举地用 if 语句。计数 ! = 0',但我不想做两个请求,我想要保持在一个请求中的所有操作。

解决方法 1:

试试这个︰

    var resultat =
            _context.ODVCompteurs.Where(
                odv => odv.SiteId == siteId && odv.DateODV >= firstDayOfMonth && odv.DateODV < lastDayOfMonth)
                .ToArray();

        return resultat.Length != 0 ? resultat.Sum(x=>x.NbrEntree) : 0;
官方微信
官方QQ群
31647020