gpt4 book ai didi

c# - 使用 Linq-to-SQL 更新记录

转载 作者:太空狗 更新时间:2023-10-29 21:50:44 25 4
gpt4 key购买 nike

我做我的查询...

var result = from u in tdc.tblUsers
where u.UserID == userID
select u;

然后我更改我想要的值:

foreach (tblUsers u in result)
{
//change values (and no im not changing the primary key or foreign keys)
}

然后我提交修改

tdc.SubmitChanges();

当它点击提交更改时,它会抛出该行未找到或已更改的异常。我是唯一使用它的人,因此访问数据库或锁定没有其他冲突。为什么会抛出 ChangeConflictException?我已经使用调试器逐步完成,并且数据在整个过程中一直存在,包括我尝试进行的更改。

我以前也这样试过,也是一样的错误

tblUsers result = (from u in tdc.tblUsers
where u.UserID == userID
select u).Single();
result.Address = address;
result.Phone = phone;
tdc.SubmitChanges();

由于 UserID 是主键,因此此查询只会检索 1 条记录。

我已经这样做了很多次,而且效果很好。我找到的每个示例都正是我所拥有的。

最佳答案

也许您的工作环境不同?尝试使用

封装
using (myContext ctx = new myContext())
{
var user = ctx.users.first();
user.name="blah";
ctx.SubmitChanges();
}

关于c# - 使用 Linq-to-SQL 更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16378775/

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