我已经做了很多次这样做了.
我发现的每一个例子都是我所拥有的......
我查询...
var result = from u in tdc.tblUsers
where u.UserID == userID
select u;
Run Code Online (Sandbox Code Playgroud)
然后我改变我想要的值:
foreach (tblUsers u in result)
{
//change values (and no im not changing the primary key or foreign keys)
}
Run Code Online (Sandbox Code Playgroud)
然后我提交更改
tdc.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
我之前也尝试过这种方式并得到同样的错误
tblUsers result = (from u in tdc.tblUsers
where u.UserID == userID
select u).Single();
result.Address = address;
result.Phone = phone;
tdc.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
它只会使用此查询检索1条记录,因为ChangeConflictException
它是主键.
当它命中提交更改时,它会抛出未找到或已更改行的异常.我是唯一一个使用它的人,因此访问数据库或锁定没有其他冲突.它为什么会抛出UserID
?我已经使用调试器,数据一直持续整个过程,包括我正在尝试进行的更改.
也许您在不同的环境下工作?尝试使用封装它
using (myContext ctx = new myContext())
{
var user = ctx.users.first();
user.name="blah";
ctx.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33377 次 |
最近记录: |