首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架的工作单元

实体框架的工作单元
EN

Stack Overflow用户
提问于 2014-11-04 02:38:46
回答 1查看 118关注 0票数 0

我计划在我的项目中使用实体框架,但它可能会改变,所以我决定抽象层。

我想要一个实现IUOW的类,我可以将它传递给我的存储库,这样所有的db调用都可以在一个事务中完成。

现在我在net上看到的每一个例子,都有dbContext在类中实现了IUOW,这不是一个约束吗,我需要dbContext对象,如果我想创建只调用存储过程的存储库,该怎么办?那我就不会有dbContext了。

http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

EN

回答 1

Stack Overflow用户

发布于 2014-11-04 02:59:54

我知道你应该创建一个接口(IPersistence...IData之类的东西),并使用其dbContext将其实现为仅对实现EntityFramework调用的类可见的内容(EntityPersistence : IPersistence)。我想你可以看看这个例子:https://codereview.stackexchange.com/questions/47879/unit-of-work-and-repository-with-entity-framework-6

你说的“所有数据库调用”都是在一个事务中进行的,这是什么意思?据我所知,dbContexts试图在一次交易中完成所有操作。但是如果你需要额外的封装,我会考虑使用TransactionScope。这样,您就可以很容易地让一个应用程序通过一个事务跨越多个层,处理错误等。(请看这些文章:http://msdn.microsoft.com/en-us/data/dn456843.aspx)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26720782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档