我执行我的查询...
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条记录。
我已经做过很多次了,而且都成功了。我找到的每个示例都与我所遇到的情况完全一样。
SubmitChanges
而不是SaveChanges
有什么原因吗?另外,你使用的 Entity 框架版本是什么? - gunr2171