【问题标题】:Property with StoreGeneratedPattern set to Identity is not updted after SaveChanges()在 SaveChanges() 之后未更新 StoreGeneratedPattern 设置为 Identity 的属性
【发布时间】:2011-12-30 11:09:21
【问题描述】:

我有一个在 Db 中写入日志信息的方法。 此方法在循环中调用。在第二次插入时,我得到 InvalidOperationException:

对数据库的更改已成功提交,但在更新对象上下文时出错。 ObjectContext 可能处于不一致的状态。内部异常消息:AcceptChanges 无法继续,因为对象的键值与 ObjectStateManager 中的另一个对象冲突。在调用 AcceptChanges 之前确保键值是唯一的。

我检查了 SSDL 和 CSDL:它们没问题。 StoreGeneratedPattern 设置为 Identity。 DB也可以——对应的id属性就是identity。

我发现是在

之后
contex.LogHystory.AddObject(logEntry);
context.SaveChanges();

logEntry.Id 仍然等于 0。所以在下一次调用之后,我们得到了两个具有相同 Id 的条目。 为什么在 SaveChanges 之后 Identity 属性没有更新?

【问题讨论】:

    标签: c# entity-framework-4.1


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    • 2013-11-05
    相关资源
    最近更新 更多