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());
}
}
}
注意标红的那部分代码

ABP 配置全局数据过滤器 II的更多相关文章
- ABP 配置全局数据过滤器
ABP官方数据过滤的地址:https://aspnetboilerplate.com/Pages/Documents/Data-Filters 中文可以看这个:https://aspnetboiler ...
- ABP中的数据过滤器
本文首先介绍了ABP内置的软删除过滤器(ISoftDelete)和多租户过滤器(IMultiTenant),然后介绍了如何实现一个自定义过滤器,最后介绍了在软件开发过程中遇到的实际问题,同时给出了 ...
- ABP(现代ASP.NET样板开发框架)系列之13、ABP领域层——数据过滤器(Data filters)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate P ...
- ABP理论学习之数据过滤器
返回总目录 本篇目录 介绍 预定义过滤器 关闭过滤器 开启过滤器 设置过滤器参数 定义自定义过滤器 其他ORM 介绍 软删除模式通常用于不会真正从数据库删除一个实体而是仅仅将它标记为"已删除 ...
- 扩展EF的Fluent API中的 OnModelCreating方法 实现全局数据过滤器
1.生成过滤的表达式目录树 protected virtual Expression<Func<TEntity, bool>> CreateFilterExpression&l ...
- ABP官方文档翻译 3.8 数据过滤器
数据过滤器 介绍 预定义过滤器 ISoftDelete 何时使用? IMustHaveTenant 何时使用? IMayHaveTenant 何时使用 禁用过滤器 关于using语句 关于多租户 全局 ...
- 文章翻译:ABP如何在EF core中添加数据过滤器
原文地址:https://aspnetboilerplate.com/Pages/Documents/Articles%5CHow-To%5Cadd-custom-data-filter-ef-cor ...
- ABP的数据过滤器(Data Filters)
http://www.aspnetboilerplate.com/Pages/Documents/Data-Filters 我们在数据库开发中,一般会运用软删除 (soft delete)模式 ,即不 ...
- vue 中全局filter过滤器的配置及使用
在项目中使用到的经常用到过滤器,比如时间,数据截取等过滤器,如果在每个.vue中都可以复制同一个过滤器,这可以达到目的,但是遇到方法有bug时就需要诸葛修改进入不同的页面修改,这样既费时又费力,优先可 ...
随机推荐
- cogs.12运输问题2题解
乍一看貌似和运输问题1没有任何区别,但本题有一个有意思的东西叫做下限,我个人称之为非强制下限,因为本题中要求的实际是我走这条边这条边才至少走下限的流,虽然出题人没说,但从样例来看确实是这样的,而强制下 ...
- shell_umask用法
我曾经用touch命令创建一个文件script,默认的权限是"rw-r- -r- -",有的朋友就有可能问为什么是这种组合?其实,这正是umask命令捣的鬼.在linux上输入:u ...
- 数据库系统概念:JDBC
import java.sql.*; public class DataBase { public static void main() { } } /* 5.1.1 JDBC */ class JD ...
- ng-bootstrap 组件集中 tabset 组件的实现分析
ng-bootstrap: tabset 本文介绍了 ng-bootstrap 项目中,tabset 的实现分析. 使用方式 <ngb-tabset> 作为容器元素,其中的每个页签以一个 ...
- 性能测试-实例讲解VU、RPS、RT公式换算
概述 今天看到一篇文章讲解VU.RPS.RT,中间有一个公式如下图 并发数 = RPS * 响应时间 于是我在本地做了几次实验,试图验证一下公式的准确性 实验网站 www.baidu.com 第一次 ...
- NOIp 2018 普及&提高组试题答案
你们考的咋样呢?在评论区说出自己的分数吧!
- JWT(JSON WEB TOKEN)实例
JWT的工具类 加密解密工具 package top.wintp.crud.util; import com.auth0.jwt.JWTSigner; import com.auth0.jwt.JWT ...
- [leetcode] 19. Remove Nth Node From End of List (Medium)
原题链接 删除单向链表的倒数第n个结点. 思路: 用两个索引一前一后,同时遍历,当后一个索引值为null时,此时前一个索引表示的节点即为要删除的节点. Runtime: 13 ms, faster t ...
- python 之 并发编程(线程理论,开启线程的两种方式,进程与线程的区别,线程对象的其他方法)
9.9 线程理论 1.什么是线程 线程指的是一条流水线的工作过程 进程根本就不是一个执行单位,进程其实是一个资源单位,一个进程内自带一个线程,线程才是执行单位 2.进程VS线程 同一进程内的线程们共享 ...
- MVC设计模式与Java Web经典三层架构
MVC设计模式 MVC的概念 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控 ...