Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SaveChanges()之后未升级StoreGeneratedPattern设置为Identity的属性_C#_Entity Framework 4.1 - Fatal编程技术网

C# SaveChanges()之后未升级StoreGeneratedPattern设置为Identity的属性

C# SaveChanges()之后未升级StoreGeneratedPattern设置为Identity的属性,c#,entity-framework-4.1,C#,Entity Framework 4.1,我有一个在Db中写入日志信息的方法。 此方法在循环中调用。在第二次插入时,我得到了InvalidOperationException: 已成功提交对数据库的更改,但更新对象上下文时出错。ObjectContext可能处于不一致的状态。内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突。在调用AcceptChanges之前,请确保键值是唯一的 我检查了SSDL和CSDL:它们都正常。StoreGeneratedPattern设置

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

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

我检查了SSDL和CSDL:它们都正常。StoreGeneratedPattern设置为Identity。DB也正常-对应的id属性是identity

我发现是在

contex.LogHystory.AddObject(logEntry);
context.SaveChanges();
logEntry.Id仍然等于0。所以在下一次通话后,我们得到了两个相同Id的条目。 为什么在保存更改后不更新标识属性?

简单而愚蠢。我忘记了结果列绑定=)