专题:EF Core
共26篇相关文章

如何将EF Core Code-First模型移除外键并重写SQL生成器?
#[EF Core] EF Core Code-First 移除外键 —— 重写SQL生成器 使用EF Core时最烦的就是生成的某些 SQL 其实并不是你想要的结果,例如外键约束等等。 一个最简单的例子就是,因为EF Core会根据导航属...

本地事件总线和事务如何成?
本地事件总线和事务 通过重写Ef Core的SaveChangesSaveChangesAsync来实现事务。当然,如果您愿意实现仓储层,可以在仓储层实现展开对应实体包含的事件,并且调整事件的处理顺序。 Github仓库地址:soda-e...

如何使用Ef Core实现SafeDelete、ReadOnly、Audit等功能?
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等 在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中...

如何将Ef Core外键、扩展操作简化为?
Ef Core花里胡哨系列(2) 移除外键、扩展操作 虽然数据库的外键有着举足轻重的作用,但是在通常的软件设计中,很多人嫌弃麻烦,从而放弃了Ef Core的Codo-First模式而转向Db-First模式。但是Db-First不是很严谨,...

如何用Ef Core实现动态分表和多租户的实体表切换?
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户 Ef Core在加载的时候,会执行一次OnModelCreating用来加载所用到的实体。我们要做的就是刷新Ef Core上下文中之前缓存的内容。 分表 我们假如有一个...

如何将Ef Core多租户功能为?
Ef Core花里胡哨系列(4) 多租户 当然,我们要考虑设计问题,例如,切换Schema或者改变数据库时,Ef Core同样也会刷新改实体的缓存,所以,首次查询将会很慢,不适合大表。 基于Schema实现多租户 在我的上一篇博客中 [Ef...

如何动态调整Ef Core实体追踪与查询?
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询 同样还是IModelCacheKeyFactory,不过这次要采用主动刷新的方式。 实现DbContext 动态实体,根据配置等生成动态类型来当作数据库实体使用,当配置修改时,...

如何将Ef Core XML注释同步为数据库注释?
Ef Core花里胡哨系列(6) XML注释同步到数据库注释 参考文档:C#读取注释的方法 准备读取Xml的工具类 可以根据[参考文档]获取一个简单读取注释的方法。 实现DbContext 我们通过重写OnModelCreating方法,在...

使用Ef Core,能否同时维护数据库表架构和实现花里胡哨功能?
Ef Core花里胡哨系列(7) 使用Ef Core也能维护表架构? 我们这里指的并不是查询,而是利用Ef的迁移原理,生成可用的其它表架构操作的Sql。 例如你想在Ef Core里建表,并且可能程序里有多个provider,那么写Sql将是...

如何有效控制并管理Ef Core的数据库迁移过程?
Ef Core花里胡哨系列(8) 如何可控管理Ef Core的迁移? 通常使用Ef Core迁移时,可能就是简单的使用命令dotnet-ef migrations add或者dotnet ef database update等等,基本都需要...

Ef Core阴影属性,实际应用中有用吗?
Ef Core花里胡哨系列(9) 阴影属性,有用还是没用? Ef Core中提供了一些有趣的实现,例如阴影属性!虽然大部分时候我还没有遇到应用场景,但是不妨碍我们了解一下。 阴影属性是EF Core中的一个特性,它允许你在模型中定义一个属性...

如何将Ef Core动态 DbContext为?
Ef Core花里胡哨系列(10) 动态起来的 DbContext 我们知道,DbContext有两种托管方式,一种是AddDbContext和AddDbContextFactory,但是呢他们各有优劣,例如工厂模式下性能更好呀等等。那么,...

Ef Core无实体查询,如何实现高效查询技巧?
Ef Core花里胡哨系列(11) ef8 无实体查询,你好! EF7 引入了返回标量类型的原始 SQL 查询。 这在 EF8 中得到了增强,包括返回任何可映射 CLR 类型的原始 SQL 查询,而无需在 EF 模型中包括该类型。 使用非映...

如何用ASP.NET Core和EF Core打造灵活可扩展的动态分页系统?
引言 欢迎阅读,这篇文章主要面向初级开发者。 在开始之前,先问你一个问题:你做的系统,是不是每次增加一个查询条件或者排序字段,都要去请求参数对象里加一个属性,然后再跑去改 EF Core 的查询逻辑? 如果是,那这篇文章应该对你有用。我会带...

如何将EF Core的SaveChangesInterceptor、CommandInterceptor与审计落地实现一招多用的拦截器实战?
审计不是“给表补几个 CreatedBy 字段”,也不是“在业务方法里顺手记日志”。它本质上是系统级可追溯能力,设计目标是让系统在任何写路径下都能稳定回答四个问题:谁发起、改了什么、何时发生、通过哪条链路触发。 真正的难点不在 API 用法...
