English 中文(简体)
实体框架和对乐观的同货币例外的一些一般怀疑
原标题:entity framework and some general doubts with the optimistic concurrency exception

我对乐观的货币例外有些怀疑。

比如说,我从数据库中检索到一些数据,我修改一些登记册,然后提交修改。如果有人在我的请求和更新之间更新登记册信息,我就会得到一个乐观的例外。典型的共通货币问题。

我的第一个疑问是如下。 EF 将决定信息是否被更改,从数据库中检索数据,并将我获得的原始数据与从数据库中检索的数据进行比较。如果存在差异,则会提出乐观的同货币例外。

如果我抓住乐观的货币通货法例外, 我就会决定客户是赢还是商店赢。 在此步骤中, EF 再次检索信息或使用从第一个检索到的数据 。 因为如果再次检索数据, 效率会低 。

第二个疑问是如何控制乐观的货币货币例外。在代码的抓捕区,我决定客户是赢还是商店赢。如果客户是赢,那么我再次呼吁拯救变化。但在决定客户是赢还是储蓄变化之间,其他用户可以改变数据,因此我再次得到一个乐观的货币例外。理论上,这可能是一个无限循环。

使用交易(范围)确保客户更新数据库中的信息是否是一个好主意?其他解决方案可以是使用循环来尝试更新数据的时间,如果不可能的话,退出并告诉用户。

交易会是一个好主意吗? 它会消耗数据库的大量资源吗? 尽管交易区块会占用数据库的片刻时间,但它能确保更新的操作完成。 尝试完成操作的N回路时间圈,可以调用数据库的N次,也许还需要更多的资源。

Thanks. Daimroc.

我忘记问了。 是否有可能设置上下文, 使用客户端默认赢来代替等待通货法例外?

最佳回答

My first doubt is the following. EF to decide if the information is changed or not, retrieves the data from the database ...

它不从数据库中检索任何补充数据。 它需要您实体用于同值处理的原始值, 并在更新命令时使用这些原始值。 更新命令之后将选择修改的行数。 如果数字为 0, 则意味着记录不存在或者有人更改了它 。

第二个疑问是如何控制乐观的同货币例外。

您只需拨打 < code> refresh 和 < code> saveChanges 。 您可以在必要时重复几次模式。 如果您有如此多的高度同时应用程序, 以至于多个线条都在争斗, 在秒数的几秒内更新相同的记录, 您很可能需要以不同的方式构建数据存储 。

使用交易(范围)确保客户更新数据库中的信息是否是一个好主意?

SaveCchanges 总是使用数据库交易。 交易范围不会添加任何附加值, 除非您想要在多次调用 SaveCchanges 、分布式交易或更改交易的隔离级别时使用交易。

Is it possible set the context to use client wins by default instead to wait to the concurrency exception?

它是默认设置的。 只需不使用 Conformode. fixed 标记您的任何属性即可。 您将没有货币处理 =客户端赢 。

问题回答

暂无回答




相关问题
Entity Framework with MySQL connector in c#

I have been trying to get the Entity Framework to work in my web application using MySQL. It works fine on my local pc, but doesn t work when I put it on the server. Since the server is a shared ...

How Do I Create And Update A Many To Many Relationship With EF

I am using the Entity Framework with SQL Server. I have a many to many relationship between 2 tables. I have created a join table with just the primary key fields of the 2 tables. In the designer, the ...

Entity Framework with File-Based Database

I am in the process of developing a desktop application that needs a database. The application is currently targeted to SQL Express 2005 and works wonderfully. However, I m not crazy about having ...

Linq to enties, insert foreign keys

I am using the ADO entity framework for the first time and am not sure of the best way of inserting db recored that contain foreign keys. this is the code that i am using, I would appreciate any ...

Entity Framework - Many to many question

I have a table called ASB and a table called PeopleInvolved. There is a junction table called PeopleInvolved_ASB which simply contains an ASBID and a PeopleInvolvedID column. The columns act as a ...

Post back complex object from client side

I m using ASP.NET MVC and Entity Framework. I m going to pass a complex entity to the client side and allow the user to modify it, and post it back to the controller. But I don t know how to do that ...

ADO.NET Entity Data Model are not precise enough

I run this code: var cos = from k in _db.klienci_do_trasy where k.klient_id == 5 select k; but the query send to database is: SELECT * FROM `klienci_do_trasy` LIMIT 0, 30 why is it for, there ...

热门标签