Entity Framework Core 7 发布概述
Entity Framework Core 7(EF7)是微软为.NET框架开发的对象到数据库映射库的最新版本,于2022年11月与.NET 7一同发布。EF7为.NET 7和.NET 6提供支持,带来了多项性能提升、新功能和改进。
发布时间与分发
EF7于2022年11月8日发布,以一系列NuGet包的形式分发。
主要变更
- 默认加密SQL Server连接:EF7默认将SQL Server连接视为加密连接,开发者需配置有效证书或明确放宽安全限制,否则EF6中有效的连接字符串在EF7中将抛出异常。
- 性能提升:在保存数据时,
SaveAsync方法的性能显著提升,某些场景下相比EF6提升超过50%。
新功能
- JSON列操作支持:EF7支持将数据库中的JSON文档扩展为查询对象,开发者可以在查询中对JSON属性进行过滤和排序。EF7提供了对JSON列的通用支持,并为SQL Server提供了具体实现。
- 高效批量操作:EF7引入了
ExecuteUpdateAsync和ExecuteDeleteAsync方法,直接在服务器上执行批量更新和删除操作,不会将结果加载到内存中。 - 继承映射策略:EF7新增了Table-per-Concrete-Type(TPC)策略,每个非抽象类型对应一个数据库表,而抽象类型的列被添加到具体实现类的表中。
其他改进
- 自定义T4模板支持:在数据库优先的反向工程中支持自定义T4模板。
- 默认模型约定覆盖:支持覆盖和更改默认的模型约定。
- 改进的拦截器和事件:增强了拦截器和事件的功能。
- 存储过程映射:支持将插入、更新和删除操作映射到存储过程。
开发者反馈
尽管历史上开发者认为Entity Framework笨重且存在缺陷,但新版本已被公认为高效、容错性强的ORM工具。
EF8 路线图
微软已发布EF8的路线图,计划进一步增强JSON列支持、.NET值对象支持,并支持返回未映射类型作为查询结果。
EF7的发布标志着Entity Framework在性能和功能上的又一次重大进步,为开发者提供了更高效、更灵活的数据库操作工具。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。