尝试获取基于字段总和的数据库返回的值。

但是得到这个消息:



该数据库当天不包含该用户的记录是有效的,因此我沿着可为空的路线走了。在过去的好日子里,我会用“ISNULL”建立一个存储过程!!!

这是我的基本表达:
decimal? foodCount = dbContext.fad_userFoods.Where(uf => uf.dateAdded == thisDate && uf.userID == thisGuid).Sum(uf=>(decimal?)uf.quantityAmount ?? 0m);
谷歌搜索提出了可为空的定义和??的使用以“m”为小数。但是错误仍然存​​在!

您的集体帮助将是一如既往的宝贵。提前致谢。

最佳答案

使用DefaultIfEmpty方法。如果根本找不到任何值,则将填充0。

decimal foodCount = dbContext.fad_userFoods
    .Where(uf => uf.dateAdded == thisDate && uf.userID == thisGuid)
    .Select(uf => uf.quantityAmount)
    .DefaultIfEmpty()
    .Sum();

10-08 19:10