ChangeConflictException的原因是什么?

时间:2011-03-30 23:45:20

标签: c# asp.net linq-to-sql

我的代码很简单:

using (var ctx = new MyDataContext())
{
    var image = ctx.Images.Single(i => i.ImageID == 3122);
    ctx.Images.DeleteOnSubmit(image);
    ctx.SubmitChanges();
}

我总是得到Row not found or changed.

如果我将Update Check设置为Never,我会在其他帖子中阅读它会修复它,而且确实如此。但我更感兴趣的是它为什么会发生。谢谢!

1 个答案:

答案 0 :(得分:1)

这是因为在您将行读入内存的时间与尝试将其写回数据库的时间之间,某些其他进程(可能是触发器)正在更新您正在更新的行。