随笔分类 - (新) EF Core
摘要:前言 EF Core 8.0 推出了 Complex Types,这篇要来介绍一下。 由于它和 Owned Entity Types 傻傻分不清楚,加上我之前也没有写过 Owned Entity Types 的文章,所以这篇就一起介绍呗。 Owned Entity Types Owned Entit
阅读全文
摘要:参考 Docs – Advanced table mapping Table Splitting Table Splitting 指的是把一个表映射到多个 Entity,或者反过来说就是把多个 Entity 映射到一个表。 When to use it? 假设我们有一个 Order Entity,O
阅读全文
摘要:前言 记入一些零零碎碎的知识。 Shadow Properties 参考:Docs – Shadow and Indexer Properties Shadow Property 指的是那些在数据库有 Column 但是在 Entity Class 却没有 Property 的 Property。
阅读全文
摘要:参考 Docs – What's New in EF Core 8 Support DateOnly and TimeOnly SQL Server 早在 2008 年就已经支持 date 和 time 类型了。反观 .NET 一直到 6.0 才支持 DateOnly 和 TimeOnly 类型。
阅读全文
摘要:前言 继承是面向对象里的概念. 关系数据库只有一对一, 一对多这类关系, 并没有 "继承" 关系的概念. 所以 ORM (Object–relational mapping) 就需要搞一些规则来映射出它. 这篇就说说 EF Core 如果映射继承关系. 题外话: 继承不顺风水, 尽量少用, 我的从前
阅读全文
摘要:前言 EF Core 在 SaveChanges 之后会一句一句的去更新和删除数据. 有时候这个效率是很差的. 而 SQL 本来就支持批量更新和删除, 所以是 EF Core 的缺失. 在 EF Core 7.0 它补上了这个功能. ExecuteDelete await db.Customers.
阅读全文
摘要:前言 SQL Server 支持 JSON, 以前写过一篇介绍 SQL Server – Work with JSON. 但 EF Core 一直没有支持. 直到 EF Core 7.0 才支持. 参考 Docs – JSON Columns YouTube – JSON Columns - New
阅读全文
摘要:前言 这篇不会细谈功能, 只是一个总链接. 参考 Docs – What's New in EF Core 7.0 Breaking Change 参考: Docs – Breaking changes in EF Core 7.0 (EF7) Encrypt defaults to true fo
阅读全文
摘要:前言 踩了一个坑, 下面是 2 个 scope 的调用, 第 1 和 3 是一个 Audit log filter action, 第 2 个是 controller. // open tran // edit entity 1 // save change 1 // save point A //
阅读全文
摘要:前言 Many to many 是 EF Core 5.0 才开始有的, 以前都用 2 个 1-n 来实现的. 由于它比 1-n 复杂, 所以有必要写一遍来记入一下. 参考: Relationships Property bag entity types Without Fluent API pub
阅读全文
摘要:前言 之前写过 EF Core 悲观并发, 这篇主要讲一下乐观并发. 乐观并发的机制可以看这篇. Why Need This? 如果你用 EF Core 做数据管理, 建议你每个 Entity 都配置乐观并发. 因为 EF 的机制是这样的. 先把资料读出来, 然后修改资料, 然后 SaveChang
阅读全文
摘要:前言 会写这篇是因为最近开始大量使用 SQL Server Trigger 来维护冗余 (也不清楚这路对不对). EF Core migrations 没有支持 Trigger Github Issue, 能找到相关的 Laraue.EfCoreTriggers, 但 star 太少, 不敢用. 于
阅读全文
摘要:Add vs AddAsync 参考: .NET 5 REST API Tutorial AddAsync() vs Add() in EF Core EF Core’s AddAsync v. Add Method EF Core in ASP.NET Core - CRUD 无意间再看视频的时候
阅读全文
摘要:前言 写 Library 有时候会用到 database, 会想用 EF 来维护. 比如 Identity, IdentityServer, OpenIddict, 这些 Library 都有使用到 EF. 虽然大家都用 EF, 但它们使用的手法都不太一样哦. 这篇就来研究一下, 写 Library
阅读全文
摘要:主要参考 Global Query Filters Interceptors QueryFilter QueryFilter 就是默认过滤, 非常适合用来做 Soft Delete builder.HasQueryFilter(e => EF.Property<DateTimeOffset?>(e,
阅读全文
摘要:前言 在 SQL Server – Soft Delete 中, 讲到了如果在 SQL Server 实现 Soft Delete. 这篇来说说, EF Core 在中间扮演的角色. 主要参考 Entity Framework Core: Soft Delete using Query Filter
阅读全文
摘要:前言 EF core 6.0 开始有 build-in 的 Temporal Table 支持了. 关于 SQL Server Temporal Table 可以看这篇. 主要参考 What's New in EF Core 6.0 # SQL Server temporal tables 实战 C
阅读全文
摘要:有时候想搭个环境做测试, 又记不住那些 command, 官方教程又啰嗦. git clone 模板又不太好管理, 索性记入在这里吧. 创建项目 dotnet new webapp -o SimpleTestEFCore for console app 的话 dotnet new console -
阅读全文