Entity Framework 7 引入批量操作和 JSON 列

Entity Framework Core 7 发布概述

Entity Framework Core 7(EF7)是微软为.NET框架开发的对象到数据库映射库的最新版本,于2022年11月与.NET 7一同发布。EF7为.NET 7和.NET 6提供支持,带来了多项性能提升、新功能和改进。

发布时间与分发

EF7于2022年11月8日发布,以一系列NuGet包的形式分发。

主要变更

  1. 默认加密SQL Server连接:EF7默认将SQL Server连接视为加密连接,开发者需配置有效证书或明确放宽安全限制,否则EF6中有效的连接字符串在EF7中将抛出异常。
  2. 性能提升:在保存数据时,SaveAsync方法的性能显著提升,某些场景下相比EF6提升超过50%。

新功能

  1. JSON列操作支持:EF7支持将数据库中的JSON文档扩展为查询对象,开发者可以在查询中对JSON属性进行过滤和排序。EF7提供了对JSON列的通用支持,并为SQL Server提供了具体实现。
  2. 高效批量操作:EF7引入了ExecuteUpdateAsyncExecuteDeleteAsync方法,直接在服务器上执行批量更新和删除操作,不会将结果加载到内存中。
  3. 继承映射策略:EF7新增了Table-per-Concrete-Type(TPC)策略,每个非抽象类型对应一个数据库表,而抽象类型的列被添加到具体实现类的表中。

其他改进

  1. 自定义T4模板支持:在数据库优先的反向工程中支持自定义T4模板。
  2. 默认模型约定覆盖:支持覆盖和更改默认的模型约定。
  3. 改进的拦截器和事件:增强了拦截器和事件的功能。
  4. 存储过程映射:支持将插入、更新和删除操作映射到存储过程。

开发者反馈

尽管历史上开发者认为Entity Framework笨重且存在缺陷,但新版本已被公认为高效、容错性强的ORM工具。

EF8 路线图

微软已发布EF8的路线图,计划进一步增强JSON列支持、.NET值对象支持,并支持返回未映射类型作为查询结果。

EF7的发布标志着Entity Framework在性能和功能上的又一次重大进步,为开发者提供了更高效、更灵活的数据库操作工具。

阅读 69
0 条评论