写点什么

Entity Framework 7 支持批量操作和 JSON 列

作者:Edin Kapić

  • 2023-01-12
    北京
  • 本文字数:970 字

    阅读完需:约 3 分钟

Entity Framework 7支持批量操作和JSON列

微软于2022年11月连同.NET 7 发布了用于.NET Framework 的对象到数据库映射器库 Entity Framework(EF)Core 7。新版本提升了保存数据的性能,支持 JSON 列操作,支持高效的批量操作,并包含许多小的修复和改进。EF7 Core 可用于.NET 7 和.NET 6。

 

微软于 2022 年 11 月 8 日通过NuGet包的形式发布了 EF7。根据重大变更文档所述,EF Core 7 中最重要的变化是默认将 SQL Server 连接视为加密连接。开发者要么必须在他们的机器上配置有效的证书,要么显式放松安全限制,否则的话在 EF6 中有效的连接字符串在 EF7 中将会抛出异常。

 

众所周知,EF7 Core 的一个改进是在使用 SaveAsync 方法保存数据时的性能提升。在某些情况下,与同一机器上的 EF6 Core 相比,性能提升超过50%

 

EF7 Core 支持将数据库中包含JSON文档的文本列作为查询对象。作为数据库查询的一部分,开发者可以对文档中的 JSON 属性进行过滤和排序。EF7 提供了对 JSON 列的通用支持和针对 SQL Server 的具体实现。

 

针对数据库的批量操作,例如批量更新或删除,EF7 对其进行了重写。标准的 SaveChangesAsync 方法会影响多条记录,SQL 执行结果会被载入内存。EF7 现在有两个新方法,ExecuteUpdateAsync和ExecuteDeleteAsync,它们会立即在服务器端执行批量操作,不会将任何实体加载回内存。

 

默认情况下,EF Core 将.NET 类型的继承层次结构映射到单张数据库表,这种映射策略叫作每层次表(Table-per-Hierarchy,TPH)。EF Core 5 加入了每类型表(Table-per-Type,TPT)策略,层次结构中的每一个类型都被映射到一张数据库表。EF Core 7加入了每具体类型表(Table-per-Concrete-Type,TPC)策略,每个非抽象类型映射到一张数据库表,而抽象类型列被添加到抽象类型的具体实现的表中。

 

EF7 还带来了其他改进,比如在数据库优先的反向工程中支持自定义T4模板,支持覆盖和更改默认模型约定改进的拦截器和事件插入、更新和删除到存储过程的映射

 

在过去,.NET 开发人员认为 Entity Framework 笨重且缺点多多,但现在的新版本被认为是一种高效且具有容错能力的ORM框架

 

随着 EF7 的发布,EF8的路线图中增加了更多的 JSON 列增强,支持.NET 值对象,并能够将未映射的类型作为查询结果返回。

 

原文链接

https://www.infoq.com/news/2022/12/ef7-core-json/


相关链接:

InfoQ 2022 年趋势报告:.NET篇

微软将于年底终止对 .NET Core 3.1 的支持

.NET分布式缓存中的发布和订阅模式

2023-01-12 08:0010853

评论

发布
暂无评论
发现更多内容

与 Python 之父聊天:更快的 Python!

Python猫

Python

2020年IT运维市场大前景到底怎么样,一举拿下腾讯美团滴滴offer

Java 程序员 后端

2021想进大厂?高手面经送给你:Java基础笔记

Java 程序员 后端

1年半经验,2本学历,Curd背景,干货精讲

Java 程序员 后端

【架构实战营】模块二作业

liu🍊

20年IT农民工终于分享出了SpringCloud微服务架构实战文档,太强了!

Java 程序员 后端

2020年最新蚂蚁金服 Java 高级岗2000+面试通关秘籍,就这水平

Java 程序员 后端

2021先定个小目标?搞清楚MyCat分片的两种拆分方法和分片规则!(1)

Java 程序员 后端

2021年九月最新Java面试必背八股文,338道最新大厂架构面试题

Java 程序员 后端

2021最新总结:1万字Java并发编程最新面试题合集【含答案 建议收藏

Java 程序员 后端

2021最新成功收获字节(Java后端开发)意向书

Java 程序员 后端

10个人9个答错,另外1个只对一半:数据库的锁

Java 程序员 后端

15张图搞定MySQL InnoDB工作原理,kafka视频分析

Java 程序员 后端

1篇文章全面总结2020年Java面试知识,掌握这些你也能进大厂!

Java 程序员 后端

2021!阿里技术官最新发布Java零基础就业宝典,不用再怀疑人生了

Java 程序员 后端

100道 IT名企前端面试真题(1),java面试中经常被问到的问题

Java 程序员 后端

21道Java基础面试题及答案(1),linux系统管理技术手册

Java 程序员 后端

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K

Java 程序员 后端

28天读完349页,这份Alibaba面试通关手册,助我

Java 程序员 后端

1000页神仙文档,连阿里P8面试官都说太详细了,面面俱到!搞懂这些直接P6+

Java 程序员 后端

15道常考SpringBoot面试题整理,java资源百度云盘

Java 程序员 后端

2021先定个小目标?搞清楚MyCat分片的两种拆分方法和分片规则!

Java 程序员 后端

2020年Java篇:蚂蚁金服、拼多多,小米java面试几轮

Java 程序员 后端

2021,你还在写“赤裸裸,nginx源码分析pdf

Java 程序员 后端

14道MyBatis面试题总结,看完你还敢说懂MyBatis吗?

Java 程序员 后端

2021最新金三银四面经:166位粉丝面试大厂经验总结(附面试真题

Java 程序员 后端

2021毕业的Java应届生,面试需要掌握哪些技能,才能收割offer

Java 程序员 后端

21道Java基础面试题及答案,Dubbo SPI及自适应扩展原理

Java 程序员 后端

100道 IT名企前端面试真题,【面试必备】

Java 程序员 后端

10个人9个答错,另外1个只对一半:数据库的锁(1)

Java 程序员 后端

133道Java面试题及答案(面试必看),2021年Java面试心得

Java 程序员 后端

Entity Framework 7支持批量操作和JSON列_编程语言_InfoQ精选文章