【发布时间】:2012-07-25 03:20:21
【问题描述】:
当我添加多个连续数据时,SaveChanges() 方法发生错误。
例外 已成功提交对数据库的更改,但更新对象上下文时出错。 ObjectContext 可能处于不一致的状态。内部异常消息:AcceptChanges 无法继续,因为对象的键值与 ObjectStateManager 中的另一个对象冲突。在调用 AcceptChanges 之前确保键值是唯一的。
我的基础服务
public void Delete(T entity)
{
ObjectSet.DeleteObject(entity);
Context.SaveChanges();
}
public void Add(T entity)
{
ObjectSet.AddObject(entity);
Context.SaveChanges();
}
public void Attach(T entity)
{
ObjectSet.Attach(entity);
Context.SaveChanges();
}
public void Update(Expression<Func<T, bool>> where, T entity)
{
var ent = First(where);
ent = entity;
Context.SaveChanges();
}
【问题讨论】:
-
发生这种情况的方法是什么(例如,
Add(T entity)、Attach(T entity))?你能发布堆栈跟踪吗?
标签: c# entity-framework savechanges objectstatemanager