1.2 KiB
1.2 KiB
简介
工作单元模式是“维护一个被业务事务影响的对象列表,协调变化的写入和并发问题的解决”
它的作用
- 事务相关
- 共用连接 ...
如何使用
依赖注入IUnitOfWorkManager,使用CreateContext创建一个IUnitOfWork工作单元
在工作单元内部,可提交,回滚,获取仓储
bool IsTran { get; set; }
bool IsCommit { get; set; }
bool IsClose { get; set; }
IRepository<T> GetRepository<T>();
bool Commit();
注意,在除Get请求上,其他请求默认都开启了工作单元(post、put、delelte)
完整例子
private IUnitOfWorkManager _unitOfWorkManager { get; set; }
public void Test()
{
using (var uow = _unitOfWorkManager.CreateContext())
{
//仓储执行各种操作
//统一提交
uow.Commit();
}
}
特性方式
还可以通过[UnitOfWork]特性,打在方法上,该方法便会当作一个事务进行提交
[UnitOfWork]
public void Test()
{
//仓储执行各种操作
}