gpt4 book ai didi

entity-framework - 由于不必要的更新导致乐观并发异常

转载 作者:行者123 更新时间:2023-12-04 07:27:37 26 4
gpt4 key购买 nike

我有一个对象帐户,它被许多对象付款引用。我看到当我更改付款状态时,帐户的 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.Modified 中看到 Account 对象的条目...

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

有人可以建议在我的代码中检查/修复/更改什么以阻止所有这些。

最佳答案

假设您使用的是 EF4.x,则有一个修补程序可以解决此问题。我遇到了同样的问题,我可以确认修补程序已解决它。

http://support.microsoft.com/kb/2390624

FIX: The principal entity in an SQL application generates unnecessary updates when the application uses the Entity Framework in the .NET Framework 4

关于entity-framework - 由于不必要的更新导致乐观并发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com