EF更新的时候出错

错误提示:

存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修改或删除。刷新 ObjectStateManager 项。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OptimisticConcurrencyException: 存储区更新、插入或删除语句影响到了意外的行数(0)。实体在加载后可能被修

改或删除。刷新 ObjectStateManager 项。

这次一直报这个,看了看,不存在model同时存在两个的情况,再看了下model的字段,就是timestamp这个字段是null,一直以为这个字段会自己自动生成,但是这个字段似乎是初始化才能构造的,也没办法加进去。

所以才会出现这个错误。

至于解决方式:

1.更新model的时候,获取原有的对象,替换掉修改的字段

2.干脆就删掉timestamp这个,毕竟有更新这种出现,就表示这个model本身就不是注重时间点的,如果看中时间的话,应尽量保存住原有字段,或者存储历史记录

原文地址:https://www.cnblogs.com/danlis/p/5945510.html