gpt4 book ai didi

c# - 如果使用 Linq 为空,如何获取表的最大 ID 或 1?

转载 作者:行者123 更新时间:2023-11-30 20:45:37 24 4
gpt4 key购买 nike

我通过从表中选择最大 id 并将其递增 1 来手动插入表的 id。如果表为空并且 max 返回 null,我如何使用 c# 和 linq 执行此操作我正在使用下面的代码,但它给出错误“空值不能分配给类型为 System.Int32 的成员,该类型是不可空值类型”

var t = (from tab1 in db.questions select tab1.QuestionId1).Max();
if (t!=null)
{
qui = t + 1;
}

else
{
qui = 1;
}

最佳答案

这样的东西行得通吗?

// Assume we want to start with id 1
var maxId = db.Questions
.Max(q => q.QuestionId1)
.DefaultIfEmpty(0)
.Max();

return maxId + 1;

DefaultIfEmpty将处理空表情况。

数据库通常具有自动递增的 ID 功能。如果您使用的是 Entity Framework,那么它应该默认启用。

关于c# - 如果使用 Linq 为空,如何获取表的最大 ID 或 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27950254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com