我有一个MVC Web应用程序项目以及一个类库项目。现在,我正在尝试实现实体框架事务。因此,我决定采用Singleton模式,在其中可以使用整个Transaction中可用的单个DbContext对象。但是后来,我发现Factory&UoW模式比Singleton更合适。但是,我有几个问题,而且我还没有从网上找到答案。
如果在事务数量上用户数在同一个DbContext上工作,那么如何管理并发?
如果您能帮助我回答我的问题,那就太好了。
答案 0 :(得分:0)
您不需要单个DbContext对象,根据设计,应随每个请求实例化该对象。
要处置对象,请选择using块,否则,如果要使用依赖项注入,则将通过依赖项注入/ IoC容器来解决。
默认情况下,Entity Framework支持开放式并发。假设自加载实体以来未更改相同的数据,EF会将实体数据保存到数据库。如果发现数据已更改,则将引发异常,您必须解决冲突,然后再尝试保存。