我想知道我应该在哪里使用工作单元?为什么?
- 存储库级别?但是,如果您需要 2 个存储库怎么办?
- 服务水平 ?但是如果您需要重用其他服务方法怎么办?
- 控制器级别 ? 但是,如果您不想在控制器中添加任何逻辑怎么办?
想知道它在哪里最好看,应该在哪里使用。我正在使用类似的实现:
using (var uow = UnitOfWorkFactory.Create())
{
... transaction go here
}
(我正在使用带有实体框架的 ASP.NET MVC 3)
谢谢。
我想知道我应该在哪里使用工作单元?为什么?
想知道它在哪里最好看,应该在哪里使用。我正在使用类似的实现:
using (var uow = UnitOfWorkFactory.Create())
{
... transaction go here
}
(我正在使用带有实体框架的 ASP.NET MVC 3)
谢谢。
一个工作单元允许您在多个存储库中执行多个操作并Save()
一次调用所有这些操作,这些调用SaveChanges()
会将工作单元转换为事务。如果在您的Save()
呼叫期间发生任何故障,则操作将回滚。
因此,在您需要的任何地方使用工作单元,以确保在数据事务期间不会损坏某些内容。当您想推迟事务直到完成一组操作时,基本上使用一个工作单元。
这篇文章很好地概述了实体框架打算如何使用工作单元。