文章内容

2017/5/11 15:01:16,作 者: 黄兵

DbUpdateConcurrencyException

最近用Entity Framework更新的时候报错,错误如下:

Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions.

具体错误我如下图:

我们分析一下源代码,以及调试结果:

1、首先看了一下数据库与表单提交的数据对比了一下,发现上传的ID不同,图片如下:

表单上传到后台的Id,我们看一下数据库的Id,如下图所示:

可以看到数据库并不存在Id为9的数据,也就是说:数据没有更新。

之后修改表单数据更新成功。

结论:

在用Entity Framwork更新数据的时候,如果更新数据有问题,就汇报:DbUpdateConcurrencyException,仔细检查一下数据之后就可以避免这个错误。

当然出现“DbUpdateConcurrencyException”也有可能是你在编辑的时候,对方已经给变了数据导致冲突。这时候看采用乐观请求或者其他方式覆盖数据。

本文:黄兵的个人博客 - DbUpdateConcurrencyException 原创,转载请注明出处。

分享到:

发表评论

评论列表