EF Core 数据过滤】的更多相关文章

1 前言 本文致力于将一种动态数据过滤的方案描述出来(基于 EF Core 官方的数据筛选器),实现自动注册,多个条件过滤,单条件禁用(实际上是参考ABP的源码),并尽量让代码保持 EF Core 的原使用风格. 1.1 本文的脉络 会在一开始,讲述数据过滤的场景以及基本的实现思路. 随后列出 EF Core 官方的数据查询筛选器例子. 最后将笔者的方案按功能(自动注册,多个条件过滤,单条件禁用)逐一实现出来. 1.2 数据过滤的场景 一般我们会有这样的场景,可能需要数据过滤: 软删 多租户 通…
摘要 在实际项目中,大多都需要对业务逻辑以及操作数据库的逻辑进行分成操作,这个时候该如何进行数据的迁移呢? 步骤 上篇文章:EF Core数据迁移操作 比如,我们将数据上下文放在了Data层. 看一下BlogContext内容如下: public class BlogContext : DbContext { public BlogContext(DbContextOptions options) : base(options) { } public DbSet<User> Users { s…
EF Core 数据变更自动审计设计 Intro 有的时候我们需要知道每个数据表的变更记录以便做一些数据审计,数据恢复以及数据同步等之类的事情, EF 自带了对象追踪,使得我们可以很方便的做一些审计工作,每次变更发生了什么变化都变得很清晰,于是就基于 EF 封装了一层数据变更自动审计 使用效果 测试代码: private static void AutoAuditTest() { // 审计配置 AuditConfig.Configure(builder => { builder // 配置操作…
有些固定的条件,基本每个查询的时候需要带的条件,我们可以使用全局过滤来帮我们,这样后面的查询就不用每次都带条件了. 微软自带的:https://docs.microsoft.com/zh-cn/ef/core/querying/filters 特殊针对的过滤:https://entityframework-plus.net/query-filter 准备: nuget    Z.EntityFramework.Plus.EFCore 例子: 现在我的表中有4条数据,两条是不需要的,需要过滤这两条…
ef core在针对mysql数据迁移的时候,有些时候没法迁移...有两种情况没法迁移,一种是因为efcore的bug问题导致没法迁移,这个在github上有个问题集,另外一种是对数据表进行较大幅度的变更,导致外键导航之类的变更较多,无法正常迁移,并且涉及到该表的迁移有多条. 然后我就自己琢磨,在不删除所有迁移记录的情况下怎么顺利把数据表更改掉,然后摸索了一阵,确实成功了,步骤如下. 1.先把表备份后,删除这个表.2. 在migration记录表中,涉及到该表的迁移全部删除.3. 删除迁移记录中…
重要概念 Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台的数据访问技术,它还是一 种对象关系映射器 (ORM),它使 .NET 开发人员能够使用面向对象的思想处理数据库,它消除 了开发人员通常需要编写大量数数据访问代码的需要. 系统必备 EF Core 是一个 .NET Standard 2.0 库,因此它能够在其它平台使用. 安装 .NET Core SDK 即可使用. EF Core 可以在 Xamarin 和 .NET Native 等其他 .NET…
摘要 在开发中,使用EF code first方式开发,那么如果涉及到数据表的变更,该如何做呢?当然如果是新项目,删除数据库,然后重新生成就行了,那么如果是线上的项目,数据库中已经有数据了,那么删除数据库重新生成就不行了,那么该如何解决呢?Ef提供了一种数据迁移的操作.具体该如何操作呢. 数据迁移步骤 开发环境 vs2017+Mysql 这里以web为例.具体该如何操作. 1.新建一个web应用. 发现Asp.Net Core站点,项目结构又有变化,项目结构如下: 发现这里吧wwwroot又移到…
前言 不知道大家是否和我有同样的问题: 一般在数据库的设计阶段,会制定一些默认的规则,其中有一条硬性规定就是一定不要对任何表中的数据执行delete硬删除操作,因为每条数据对我们来说都是有用的,并且是值得分析的. 所以我们一般会在每张表中加一个"是否删除IsDeleted"或者"是否有效IsValid"的字段,来标识这条数据的状态是否可用! 那么疑问来了,在写SQL或者Linq的时候我们到底是要加上这个条件还是忽略这个条件呢?答案当然是根据实际业务需求和情况来决定.…
一. 原生SQL查询 接着上篇讲.通过 Entity Framework Core 可以在使用关系数据库时下降到原始 SQL 查询. 在无法使用 LINQ 表达要执行的查询时,或因使用 LINQ 查询而导致低效的 SQL 查询时非常有用. 原始 SQL 查询可返回实体类型,或者从 EF Core 2.1 开始,可返回模型中的查询类型. 1.1 基本的原始SQL查询 可以使用FromSql扩展方法,基于原始的SQL查询,开始LINQ查询. var blogs = context.Blogs .Fr…
原文地址:https://aspnetboilerplate.com/Pages/Documents/Articles%5CHow-To%5Cadd-custom-data-filter-ef-core 在本文中,我将解释如何在EF core中添加自定义数据过滤器. 我们将为OrganizationUnit 创建一个过滤器,并从IMayHaveOrganizationUnit接口继承的实体,根据登录用户的组织单元自动过滤. 我们将使用asp.net core和asp.net查询模板.您可以在ht…