【发布时间】:2020-02-13 16:13:06
【问题描述】:
我正在向我的表中添加一行。其中一列 (SubjectCount) 包含一个计数值。计数值应取该列的最大值并加 1。
我添加了这段代码
s.SubjectCount = GetAll().Max(t => t.SubjectCount as int?)?? 0 + 1;
但该值始终为 1。如果我将其更改为
s.SubjectCount = GetAll().Max(t => t.SubjectCount) + 1;
如果存在现有行,但如果表/值为空,则它不会工作我收到错误“序列不包含元素”。
我搜索了错误并尝试了DefaultIfEmpty(),但这并没有解决问题(除非我的语法不正确)。
最后GetAll() 目前没有返回任何行(这是我认为问题所在),所以我知道我可以手动添加第一行,但理想情况下,如果表是空的,我想要一个具体的解决方案来解决这个问题?
【问题讨论】:
标签: c# asp.net asp.net-mvc linq linq-to-sql