• ABP 配置全局数据过滤器 II


    第一篇 那种写法有些复杂,

    简单办法是直接注入

    切换到 ***.EntityFramework 项目

    在Uow 里面创建 ***EfUnitOfWork.cs 类

    public class CooperativeEfUnitOfWork : EfUnitOfWork
        {
            public CooperativeEfUnitOfWork(IIocResolver iocResolver,
                IConnectionStringResolver connectionStringResolver,
                IDbContextResolver dbContextResolver,
                IEfUnitOfWorkFilterExecuter filterExecuter,
                IUnitOfWorkDefaultOptions defaultOptions,
                IDbContextTypeMatcher dbContextTypeMatcher,
                IEfTransactionStrategy transactionStrategy) :
                base(iocResolver, connectionStringResolver, dbContextResolver, filterExecuter, defaultOptions, dbContextTypeMatcher, transactionStrategy)
            {
            }
    
            protected override void BeginUow()
            {
                base.BeginUow();
    
                string major = AbpSession.GetMajor();
                string projectCode = AbpSession.GetProjectCode();
    
                SetFilterParameter(SysConsts.DataFilter.MajorFilter, SysConsts.DataFilter.MajorParameter, major);
                SetFilterParameter(SysConsts.DataFilter.ProjectCodeFilter, SysConsts.DataFilter.ProjectCodeParameter, projectCode);
            }
        }
    

      然后在 **DataModule.cs 里 注册这个类

    using Abp.Dependency;
    using Abp.Domain.Uow;
    using Abp.Modules;
    using Abp.Zero.EntityFramework;
    using JZFZ.Cooperative.EntityFramework;
    using JZFZ.Cooperative.Extensions;
    using JZFZ.Cooperative.Uow;
    using System.Data.Entity;
    using System.Reflection;
    using Abp.Domain.Repositories;
    using JZFZ.Cooperative.Authorization.Users;
    using JZFZ.Cooperative.EntityFramework.Repositories;
    
    namespace JZFZ.Cooperative
    {
        [DependsOn(typeof(AbpZeroEntityFrameworkModule), typeof(CooperativeCoreModule))]
        public class CooperativeDataModule : AbpModule
        {
            public override void PreInitialize()
            {
                Database.SetInitializer(new CreateDatabaseIfNotExists<CooperativeDbContext>());
    
                Configuration.DefaultNameOrConnectionString = "Default";
    
                Configuration.UnitOfWork.RegisterFilter(SysConsts.DataFilter.MajorFilter, true);
                Configuration.UnitOfWork.RegisterFilter(SysConsts.DataFilter.ProjectCodeFilter, true);
                Configuration.UnitOfWork.RegisterFilter(SysConsts.DataFilter.ActiveFilter, true);
    
                IocManager.Register<IUnitOfWork, CooperativeEfUnitOfWork>(DependencyLifeStyle.Transient);
                IocManager.Register<IRepository<User, long>, UserRepository>(DependencyLifeStyle.Transient);
            }
    
            public override void Initialize()
            {
                IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
            }
        }
    }
    

      

    注意标红的那部分代码

  • 相关阅读:
    中文和英文
    文件字符流
    Java IO File
    关于整数拆分的递归法与母函数法
    图论·Dijkstra·HDU2066
    图论·Floyd算法·HDU2544&1874 (伪)2066
    关于 图论·并查集·HDU1232&1856
    Power of Cryptography
    Y2K Accounting Bug
    整数划分
  • 原文地址:https://www.cnblogs.com/MindSharing/p/11283914.html
Copyright © 2020-2023  润新知