Files
Yi.Framework/Yi.Doc.Md/02.框架功能模块/10.工作单元.md
2023-12-15 23:44:35 +08:00

1.2 KiB
Raw Blame History

简介

工作单元模式是“维护一个被业务事务影响的对象列表,协调变化的写入和并发问题的解决”

它的作用

  1. 事务相关
  2. 共用连接 ...

如何使用

依赖注入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()
        {
         //仓储执行各种操作
        }