gpt4 book ai didi

c# - 更新记录在 LINQ to SQL 中不起作用

转载 作者:行者123 更新时间:2023-11-30 15:03:37 26 4
gpt4 key购买 nike

我有这个序列生成查询,它获取当前序列并将其递增到下一个值。但是增量没有更新。 nextval 总是返回 1,这是数据库的默认值

Entity  | StartVal | Increment | CurVal | NextVal
----------------------------------------------------
INVOICE | 0 | 1 | 0 | 1

nextval 应该是 3, 5, 7 等等

int nextVal = 0;
using (var db = new MedicStoreDataContext())
{
DAL.LINQ.Sequence seq = (from sq in db.Sequences
where sq.Entity == entity
select sq).SingleOrDefault();

if (seq != null)
{
nextVal = seq.NextVal.HasValue ? seq.NextVal.Value : 0;


seq.NextVal = nextVal + 2;

db.SubmitChanges();
}

}

我是否遗漏了什么?

更新:回答:我需要设置主键并更新序列类字段以包含主键

最佳答案

通常这是因为它没有找到表的唯一标识符(或主键)。

在您的数据描述中,您确定表格正确地选取了独特的项目吗? - 当我第一次尝试这个时,虽然我有一个唯一的键等,但 c# 中的表描述没有将它标记为唯一,所以 linq 没有像我预期的那样悄悄地更新它,没有错误没有警告。一旦我在 C# 中更正了数据表,一切都很顺利。

关于c# - 更新记录在 LINQ to SQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11330525/

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