Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Entity framework 不必要的更新导致乐观并发异常_Entity Framework - Fatal编程技术网

Entity framework 不必要的更新导致乐观并发异常

Entity framework 不必要的更新导致乐观并发异常,entity-framework,Entity Framework,我有一个对象帐户,它被许多对象引用。我发现,当我更改付款状态时,帐户的rowversion属性版本也会使用如下SQL进行更新: update [dbo].[Account] set @p = 0 where (([Id] = 2606 /* @0 */) and ([Version] = 0x0000000000000C8C /* @1 */)) select [Version] from [dbo].[Account] where @@ROWCOUNT >

我有一个对象帐户,它被许多对象引用。我发现,当我更改付款状态时,帐户的rowversion属性版本也会使用如下SQL进行更新:

update [dbo].[Account]
set    @p = 0
where  (([Id] = 2606 /* @0 */)
        and ([Version] = 0x0000000000000C8C /* @1 */))

select [Version]
from   [dbo].[Account]
where  @@ROWCOUNT > 0
       and [Id] = 2606 /* @0 */
该交易中的帐户绝对没有其他更新。我检查了几次代码,没有看到Account对象上有任何修改。此外,我已覆盖DbContext的SaveChanges,并且在EntityState中未看到Account对象的条目。已修改

最大的问题不仅是不必要的更新,而且与一个帐户相关联的多个付款可能会同时更新,当然会抛出乐观并发异常,事务将回滚,并且必须重复


是否有人可以建议检查/修复/更改我的代码以停止所有这些操作。

假设您使用的是EF4.x,那么有一个热修复程序可以纠正此问题。 我也遇到了同样的问题,我可以确认热修复程序可以纠正它

修复:当应用程序使用.NET Framework 4中的实体框架时,SQL应用程序中的主体实体会生成不必要的更新

补充:

提到:

请与Microsoft客户服务和支持部门联系以获取修补程序

您可以在此处请求并获取修补程序:


您将收到一封带有下载URL的电子邮件。确保只在
之间复制URL

请用更多信息更新您的问题-哪个版本。对于EF,实体是如何声明的,等等。