ef core

小邓的技术笔记11 天前
ef core
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对象映射边界做 EF Core 一段时间后,很多人都会遇到同一个节点:常规 LINQ 能覆盖大多数查询,但一到复杂报表、视图或者历史 SQL 复用场景,就会开始考虑原生 SQL。问题不在于“能不能写 SQL”,而在于怎么写得可维护、可观测、还能和 EF Core 的映射体系配合好。这篇文章讲解 FromSql、SqlQuery 的使用边界和对象映射的一些坑。
硅基喵12 天前
ef core·工程实践
EF Core 原生 SQL 实战:FromSql、SqlQuery 与对象映射边界做 EF Core 一段时间后,很多人都会遇到同一个节点:常规 LINQ 能覆盖大多数查询,但一到复杂报表、视图或者历史 SQL 复用场景,就会开始考虑原生 SQL。问题不在于“能不能写 SQL”,而在于怎么写得可维护、可观测、还能和 EF Core 的映射体系配合好。这篇文章讲解 FromSql、SqlQuery 的使用边界和对象映射的一些坑。
硅基喵16 天前
架构设计·ef core
EF Core 拦截器实战:SaveChangesInterceptor、CommandInterceptor 与审计落地审计不是“给表补几个 CreatedBy 字段”,也不是“在业务方法里顺手记日志”。它本质上是系统级可追溯能力,设计目标是让系统在任何写路径下都能稳定回答四个问题:谁发起、改了什么、何时发生、通过哪条链路触发。
小邓的技术笔记17 天前
ef core·工程实践
.NET .Result 避坑指南:不同框架下的死锁与线程池饥饿这篇只讲一个知识点:在 .NET 代码里用 .Result(或 GetAwaiter().GetResult())同步阻塞异步任务,为什么在不同框架下会触发不同类型的事故。
硅基喵18 天前
ef core·工程实践
EF Core 避坑:.Result 在不同框架下的死锁与线程饥饿这篇文章讲解在 EF Core 调用链里使用 .Result(或 GetAwaiter().GetResult()),为什么在不同 .NET 框架下会表现成两种事故。
硅基喵19 天前
ef core·工程实践
EF Core 慢查询排查实战:TagWith、OpenTelemetry、执行计划,30 分钟定位性能瓶颈EF Core 性能问题里,最折磨人的不是“慢”,而是“慢得没规律”,线上卡,测试又无法复现。很多小D、小W同学都经历过这种现场:
硅基喵22 天前
ef core·工程实践
EF Core 并发冲突实战:乐观锁、RowVersion 与 DbUpdateConcurrencyException 怎么处理并发冲突是 EF Core 里最容易被忽视、出了事又最难排查的问题之一。这篇文章聊聊它的机制、怎么配置乐观锁、冲突异常怎么处理。
硅基喵23 天前
ef core·工程实践
EF Core 写入链路深拆:从 ChangeTracker 到 SQL Batch 的性能诊断与优化这篇文章讨论一个问题:一次写入请求从实体变更到数据库落盘,中间到底发生了什么,哪里最容易慢,以及应该怎么定位。
时光追逐者4 个月前
数据库·mysql·c#·.net·ef core
在 .NET 中将 EF Core 升级到 9.0.5 MySQL 连接提示 get_LockReleaseBehavior今天咱们把 Microsoft.EntityFrameworkCore 升级到 9.0.5 最新版本,然后进行 MySQL 连接操作提示下面异常:
Kookoos6 个月前
ddd·ef core·abp vnext·事件风暴·oasdiff
“事件风暴 → 上下文映射 → 模块化”在 ABP vNext 的全链路模板本文交付一套从业务共创工作坊到可运行工程骨架的闭环: 事件风暴 → 子域/上下文划分 → 上下文映射(关系/协作模式) → ABP 模块边界与依赖矩阵 → 契约门禁(CI) → 伴随测试 → 分阶段迁移老系统 → 持续度量与反模式清单。
Kookoos9 个月前
后端·.net·二级缓存·ef core·abp vnext
ABP VNext + EF Core 二级缓存:提升查询性能TL;DR ✨关系型数据库在高并发场景下常见瓶颈包括 CPU、IO 与连接数。EF Core 默认仅在单个 DbContext 生命周期内缓存实体,请求结束后即释放。引入二级缓存(跨 DbContext、跨请求)可显著减少重复查询开销,缓解数据库压力。
coredx10 个月前
c#·.net·linq·ef core·表达式树
如何在 .NET 中构建一个好用的动态查询生成器自从.NET Framework 3.5提供了LINQ之后,集合数据查询基本被LINQ统一了。这大幅提高了编写数据查询代码的效率和质量,但是在需要编写动态查询的时候反而很困难,特别是最常用的where和order by子句,他们的参数是Expression。编写静态查询的时候编译器会自动把代码转换成等价的表达式,而动态查询无法借助编译器完成表达式构建,只能手动拼接。想要正确拼接一个描述低级代码结构的表达式对开发者的功力提出了较高的要求,哪怕是这方面的高手也容易翻车。
ChaITSimpleLove10 个月前
mongodb·nosql·分布式数据库·ef core
MongoDB 与 EF Core 深度整合实战:打造结构清晰的 Web API 应用过去,C# 开发者可以使用 MongoDB.Driver(MongoDB 的 C# 驱动程序),但无法获得针对 EF Core 的第一方支持。
亦世凡华、1 年前
经验分享·.netcore·ef core·表达式树
从CRUD到高级功能:EF Core在.NET Core中全面应用(四)表达式树:是一种可以描述代码结构的数据结构,它由一个节点组成,节点表示代码中的操作、方法调用或条件表达式等,它将代码中的表达式转换成一个树形结构,每个节点代表了代码中的操作例如,如果你有一个简单的C#表达式x => x.Name == "John",EFCore会将其转化为一个表达式树,这里我们可以通过Expression构建表达式树,如下所示:
亦世凡华、1 年前
.netcore·数据库迁移·ef core·实体关系
从CRUD到高级功能:EF Core在.NET Core中全面应用(二)目录EFCore迁移深入EFCore反向工程EFCore实体关系一对一关系一对多关系多对多关系单向导航
亦世凡华、1 年前
数据库·经验分享·.netcore·ef core
从CRUD到高级功能:EF Core在.NET Core中全面应用(一)目录EFCore初识使用EFCore增删改查EFCore配置方式EFCore主键操作EFCore(Entity Framework Core):是.net core中一个轻量级跨平台的对象关系映射(ORM)框架,它使开发者能够通过面向对象的方式操作数据库而无需编写大量的SQL语句,支持多种数据库(如 SQL Server、SQLite、PostgreSQL、MySQL等),并且与.net core应用程序集成紧密并允许开发者更高效地处理数据访问和数据库交互。
贾光辉1 年前
.net core·ef core
使用 .NET Core 实现一个自定义日志记录器在应用程序中,日志记录是一个至关重要的功能。不仅有助于调试和监控应用程序,还能帮助我们了解应用程序的运行状态。 在这个示例中将展示如何实现一个自定义的日志记录器,先说明一下,这个实现和Microsoft.Extensions.Logging、Serilog、NLog什么的无关,这里只是将自定义的日志数据存入数据库中,或许你也可以理解为实现的是一个存数据的“Repository”,只不过用这个Repository来存的是日志🙈。这个实现包含一个抽象包和两个实现包,两个实现分别是用 EntityFramew
GISer_Qing1 年前
数据库·c#·.netcore·ef core·entityframework
ASP.NET Core8.0学习笔记(二十六)——EF Core Include导航数据加载——显式加载1.应用场景:在前面使用Include方法加载依赖实体时,在加载主体实体时,依赖实体也会一并自动加载。但是某些时候我们只需要查询主体实体,没有必要加载依赖实体,或者说只有我们需要依赖实体时再去加载依赖实体。这就需要使用显式加载。
GISer_Qing1 年前
数据库·.net·.netcore·ef core
ASP.NET Core8.0学习笔记(二十五)——EF Core Include导航数据加载之预加载与过滤1.在EF Core中可以使用导航属性来加载相关实体。 2.加载实体的三种方式: (1)预先加载:直接在查询主体时就把对应的依赖实体查出来(作为初始查询的一部分) (2)显式加载:使用代码指示稍后显式的从数据库中加载数据 (3)延迟加载:在访问导航属性时,以透明的方式加载关联数据