当前位置: 首页 > news >正文

EF Core全局查询筛选器

目录

概述

用法

添加全局查询筛选器

禁用全局查询筛选器


概述

全局查询筛选器:EF Core 会自动将这个查询筛选器应用于涉及这个实体类型的所有 LINQ 查询。

场景:软删除、多租户。

什么是软删除?

逻辑删除,并不是真正地从数据库中把记录删除,而是通过特定的标记方式在查询的时候将此记录过滤掉。虽然数据在界面上已经看不见,但是数据库还是存在的。

用法

添加全局查询筛选器

在BookConfig中添加全局查询筛选器

builder.HasQueryFilter(b=>b.IsDeleted==false);

 运行代码,查询会自动加上全局查询条件

static async Task Main(string[] args)
{using (MyDbContext ctx = new MyDbContext()){foreach (var b in ctx.Books.Take(6)){Console.WriteLine($"{b.Id},{b.Price}");}}
}

禁用全局查询筛选器

用IgnoreQueryFilters()禁用全局查询筛选器

static async Task Main(string[] args)
{using (MyDbContext ctx = new MyDbContext()){foreach (var b in ctx.Books.IgnoreQueryFilters().Take(6)){Console.WriteLine($"{b.Id},{b.Price}");}}
}

http://www.lryc.cn/news/522689.html

相关文章:

  • 【开源免费】基于SpringBoot+Vue.JS欢迪迈手机商城(JAVA毕业设计)
  • Objective-C语言的数据库交互
  • 基于 Spring Boot 和 Vue.js 的全栈购物平台开发实践
  • 笔记(数据运营方向)
  • qt vs ios开发应用环境搭建和上架商店的记录
  • [cg] glDrawBuffers MRT的应用
  • IO模型与NIO基础二
  • 【设计模式】 单例模式(单例模式哪几种实现,如何保证线程安全,反射破坏单例模式)
  • T-SQL语言的数据库交互
  • 【Linux系统】Ext系列磁盘文件系统二:引入文件系统(续篇)
  • 慧集通(DataLinkX)iPaaS集成平台-业务建模之域
  • 【机器学习实战】kaggle 欺诈检测---使用生成对抗网络(GAN)解决欺诈数据中正负样本极度不平衡问题
  • android wifi framework与wpa_supplicant的交互
  • 初学stm32 --- flash模仿eeprom
  • 使用C语言实现栈的插入、删除和排序操作
  • C语言程序环境和预处理详解
  • 基于机器学习随机森林算法的个人职业预测研究
  • 三种文本相似计算方法:规则、向量与大模型裁判
  • Python语言的计算机基础
  • Dify应用-工作流
  • 02.02、返回倒数第 k 个节点
  • Linux手写FrameBuffer任意引脚驱动spi屏幕
  • 怎么修复损坏的U盘?而且不用格式化的方式!
  • 语音技术在播客领域的应用(2)
  • 【Linux】应用层自定义协议与序列化
  • 深度学习中的张量 - 使用PyTorch进行广播和元素级操作
  • gitignore忽略已经提交过的
  • h5使用video播放时关掉vant弹窗视频声音还在后台播放
  • Widows搭建sqli-labs
  • 为AI聊天工具添加一个知识系统 之46 蒙板程序设计(第一版):Facet六边形【意识形态:操纵】