【发布时间】:2015-06-06 16:08:57
【问题描述】:
以下是我得到的错误信息:
存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=472540。
我的模型由几列组成,其中两列构成集群的主键:
[Key]
[Column(Order = 0)]
public string SourceName { get; set; }
[Key]
[Column(Order = 1)]
public string SourceType { get; set; }
使用实体框架更新的代码:
_Entities.SourceInfoes.Attach(entity);
_Entities.Entry(entity).State = EntityState.Modified;
_Entities.SaveChanges();
有人可以帮我解决上述异常吗?
【问题讨论】:
-
您的“更新”功能是否存在于任何 for 循环或计时器中?大多数时候,我注意到当 _Entities.SaveChanges() 当前正在执行(但尚未完成)时会发生此错误,同时,可能有 EF READ istaking to the same row (same record) 。这些代码sn-ps很难帮助。
-
可能实际配置了乐观并发,并且在没有(或过期)并发令牌的情况下附加了
entity。没有足够的细节来回答这个问题。
标签: c# asp.net-mvc linq entity-framework asp.net-mvc-4