序列包含多个元素(linq sum)

mnemlml8  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(189)

我想得到orders表中balance列的总和,我使用了以下linq命令,但是我得到了一个错误:
序列包含多个元素
说明:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及代码中错误来源的详细信息。
例外详细信息:系统操作无效异常:序列包含多个元素
来源错误:
第101行:int term =转换为Int32(会话["termId"]);
第一百零二行:
第103行:var course =上下文.课程.单个或默认(s =〉s.术语Id ==术语);
第104行:double n3 =上下文.订单.其中(w =〉w.课程Id ==课程. Id).求和(o =〉o.余额);
第105行:var config =上下文.配置.第一个(f =〉f.账户_Id == id);

q3qa4bjr

q3qa4bjr1#

我相信您得到的是第103行(SingleOrDefault)的错误,而不是第104行(Sum)。
如果序列中有多个匹配元素,SingleOrDefault将抛出异常。(如果没有匹配元素,则返回default(Orders))。
也许你指的是FirstOrDefault,它只返回第一个匹配项,忽略其余项?(它的运行速度也会快一点)。

相关问题