ABP中的数据过滤器】的更多相关文章

  本文首先介绍了ABP内置的软删除过滤器(ISoftDelete)和多租户过滤器(IMultiTenant),然后介绍了如何实现一个自定义过滤器,最后介绍了在软件开发过程中遇到的实际问题,同时给出了解决问题的一个未必最优的思路. 一.预定义过滤器   ABP中的数据过滤器源码在Volo.Abp.Data[2]包中,官方定义了2个开箱即用的过滤器,分别是软删除过滤器(ISoftDelete)和多租户过滤器(IMultiTenant),想必大家对这2个内置的过滤器已经比较熟悉了.下面重点说下通过I…
原文地址:https://aspnetboilerplate.com/Pages/Documents/Articles%5CHow-To%5Cadd-custom-data-filter-ef-core 在本文中,我将解释如何在EF core中添加自定义数据过滤器. 我们将为OrganizationUnit 创建一个过滤器,并从IMayHaveOrganizationUnit接口继承的实体,根据登录用户的组织单元自动过滤. 我们将使用asp.net core和asp.net查询模板.您可以在ht…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之13.ABP领域层——数据过滤器(Data filters) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 介绍 在数据库开发中,我们一般会运用软删除(soft-d…
返回总目录 本篇目录 介绍 预定义过滤器 关闭过滤器 开启过滤器 设置过滤器参数 定义自定义过滤器 其他ORM 介绍 软删除模式通常用于不会真正从数据库删除一个实体而是仅仅将它标记为"已删除的".这样,如果一个实体是软删除的,那么它不应该在应用中检索到.为了实现这个目的,我们应该在每一个select实体查询操作中添加一个SQL where条件,如"IsDeleted=false".这是乏味但是很重要的一项容易忘记的任务.因此,这项工作应该自动完成. ABP提供了数据…
ABP官方数据过滤的地址:https://aspnetboilerplate.com/Pages/Documents/Data-Filters 中文可以看这个:https://aspnetboilerplate.com/Pages/Documents/Data-Filters 看完后最大问题就是,自定义的数据过滤和UOW中事务是在一起的 using (CurrentUnitOfWork.EnableFilter("PersonFilter")) { using(CurrentUnitO…
第一篇 那种写法有些复杂, 简单办法是直接注入 切换到 ***.EntityFramework 项目 在Uow 里面创建 ***EfUnitOfWork.cs 类 public class CooperativeEfUnitOfWork : EfUnitOfWork { public CooperativeEfUnitOfWork(IIocResolver iocResolver, IConnectionStringResolver connectionStringResolver, IDbCo…
数据过滤器 介绍 预定义过滤器 ISoftDelete 何时使用? IMustHaveTenant 何时使用? IMayHaveTenant 何时使用 禁用过滤器 关于using语句 关于多租户 全局禁用过滤器 启用过滤器 设置过滤器参数 SetTenantId方法 ORM集成 Entity Framework EntityFramework.DynaamicFilters文档 其他ORMs 介绍 软删除模式是常用的模式,这种模式并没有从数据库中删除实体而是打上'deleted'的标记.所以,如…
http://www.aspnetboilerplate.com/Pages/Documents/Data-Filters 我们在数据库开发中,一般会运用软删除 (soft delete)模式 ,即不直接从数据库删除数据 ,而是标记这笔数据为已删除.因此 ,如果实体被软删除了,那么它就应该不会在应用程序中被检索到.要达到这种效果 ,我们需要在每次检索实体的查询语句上添加 SQL的 Where条件 IsDeleted = false .这是个乏味的工作 .但它是个容易被忘掉的事情.因此 ,我们应该…
ABP框架的数据访问底层是基于EFCore(Entity Framework Core)的,是微软标志性且成熟的ORM,因此它本身是支持多种主流数据库MySQL,SqlServer,Oracle,SQLite等等的,我在上篇随笔<ABP框架使用Mysql数据库,以及基于SQLServer创建Mysql数据库的架构和数据>已经详细介绍过如何从SQLServer迁移支持Mysql数据库的操作,同时介绍如何从SQLServer基础数据,通过Navicat工具,实现数据库迁移到Mysql上去.本篇随笔…
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. EF Core集成 EF Core是微软的ORM,可以使用它与主流的数据库提供商合作,如SQL Server.Oracle.MySQL.PostgreSQL和Cosmos DB.当您使用ABP命令行界面(CLI)创建新的ABP解决方案时,它是默认的数据库提供程序. 默认情况下,启动模板使用SQL Server.如果您更喜欢其他的数据库管理系统(DBMS),可以在创建新解决方案时…