尝试获取基于字段总和的数据库返回的值。
但是得到这个消息:
该数据库当天不包含该用户的记录是有效的,因此我沿着可为空的路线走了。在过去的好日子里,我会用“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();