写点什么

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:0011974

评论

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

和鲸科技荣耀入选2024 H1 「中国最具价值 AGI 创新机构 TOP 50」

ModelWhale

AI 云原生 AGI

Sam Altman 新公司将打造 AI 健康教练;全新大模型架构 TTT 超越 Transformer 丨 RTE 开发者日报

RTE开发者社区

软件测试学习笔记丨Allure2报告中添加附件-视频

测试人

软件测试

Flink+Paimon在阿里云大数据云原生运维数仓的实践

Apache Flink

大数据 flink paimon Apache Paimon

小特性 大用途 —— YashanDB JDBC驱动的这些特性你都get了吗?

YashanDB

数据库 yashandb 崖山数据库

Dotnet算法与数据结构:Hashset, List对比

不在线第一只蜗牛

List 数据结构 算法

Gartner: 全球服务器出货量上涨,浪潮信息市占率11.3%居全球前二

财见

10个JavaScript One-Liners让初学者看起来很专业

OpenTiny社区

JavaScript 开源 前端 OpenTiny

东南亚TikTok直播专线

Ogcloud

tiktok直播 tiktok直播专线 tiktok直播网络 tiktok直播带货 TikTok跨境直播

互联网不行了?程序员不吃香了?机会在哪里?

伤感汤姆布利柏

公式中获灵感,这群研究生在云上攻克铝电解能耗难题

华为云开发者联盟

物联网 华为云 华为云开发者联盟 先锋开发者云上说 企业号2024年7月PK榜

手把手系列:小程序插件的开发与引用

FN0

小程序 小程序插件

追剧学习两不误,华为阅读暑期书单伴你乐享一夏

最新动态

DDoS攻击详解

网络安全服务

udp DDoS cc tcpip DDoS 攻击

Docker Compose 一键快速部署 RocketMQ

JEECG低代码

Docker RocketMQ

JeecgBoot 代码生成器使用入门

JEECG低代码

代码生成器 jeecg-boot JeecgBoot jeecg

开源可视化报表,JimuReport 积木报表 v1.7.8 版本发布

JEECG低代码

积木报表 jimureport 报表工具

JeecgBoot v3.7.0 all 版本发布

JEECG低代码

低代码 低代码开发平台 JeecgBoot jeecg

百誉控股完成对Electra New Energy Vehicle Inc控股权的合并

财见

TikTok直播卡顿、封号频发?搭建TikTok直播网络解决!

Ogcloud

tiktok直播 tiktok直播专线 tiktok直播网络 tiktok直播带货 TikTok跨境直播

空窗期太长?这么说就对了!

王磊

Java

linux进程管理

不在线第一只蜗牛

Linux 运维

和鲸101计划夏令营火热进行中!北中医助阵医学数据探索,快来学习

ModelWhale

AI 数据科学 实践 Workshop 夏令营

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