C# SaveChanges()之后未升级StoreGeneratedPattern设置为Identity的属性
我有一个在Db中写入日志信息的方法。 此方法在循环中调用。在第二次插入时,我得到了InvalidOperationException: 已成功提交对数据库的更改,但更新对象上下文时出错。ObjectContext可能处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突。在调用AcceptChanges之前,请确保键值是唯一的 我检查了SSDL和CSDL:它们都正常。StoreGeneratedPattern设置为Identity。DB也正常-对应的id属性是identity 我发现是在C# SaveChanges()之后未升级StoreGeneratedPattern设置为Identity的属性,c#,entity-framework-4.1,C#,Entity Framework 4.1,我有一个在Db中写入日志信息的方法。 此方法在循环中调用。在第二次插入时,我得到了InvalidOperationException: 已成功提交对数据库的更改,但更新对象上下文时出错。ObjectContext可能处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突。在调用AcceptChanges之前,请确保键值是唯一的 我检查了SSDL和CSDL:它们都正常。StoreGeneratedPattern设置
contex.LogHystory.AddObject(logEntry);
context.SaveChanges();
logEntry.Id仍然等于0。所以在下一次通话后,我们得到了两个相同Id的条目。
为什么在保存更改后不更新标识属性?
简单而愚蠢。我忘记了结果列绑定=)