写点什么

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

评论

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

前沿聚焦:2022最受关注的六大技术热词,你都知道吗?

华为云开发者联盟

零代码 NFT 数字人 元宇宙 云边端协同

软件开发的核心原则

宇宙之一粟

软件设计原则 5月月更

vue + electronの文件读写

空城机

Electron 5月月更

开发者的福音 提前为你揭秘2022鲲鹏开发者创享日武汉站

Geek_2d6073

在线HTML转SQL工具

入门小站

工具

Linux 使用 cp 命令强制覆盖功能

AlwaysBeta

Linux 运维

IoT技术的最后决战!百万大奖究竟花落谁家?

华为云开发者联盟

IoT 华为云 iotda NSBD-IOT

HDFS 细粒度锁优化,FusionInsight MRS有妙招

华为云开发者联盟

hdfs NameNode 元数据 FusionInsight MRS FGL

技术立根,行业立范,发展立本:中国工业互联网的2.0新征程

脑极体

Java Core「4」java.util.concurrent 包简介

Samson

学习笔记 5月月更 Java core

模块2-微信朋友圈高性能复杂度分析

Fan

架构实战营

flask框架学习总结(四)【 文件上传,实现最小应用,路径变量,模板继承】

恒山其若陋兮

5月月更

聚焦无障碍阅读,福昕捐出2000套福昕高级PDF编辑器

联营汇聚

Kube-OVN v1.10.0:新增Windows节点支持,用户自定义子网ACL等10+硬核功能

York

云原生 网络 cni

P2P传输模式

工程师日月

计算机网络 5月月更

微信视频号严查教育招生类账号:应该抵制恶意网络营销

石头IT视角

vue响应式原理简述

达摩

Vue vue源码解读

一种基于事件驱动架构的 SAP 产品集成方案介绍

汪子熙

Kubernetes 云原生 SAP Kyma 5月月更

使用 awk 命令统计文本

程序员小航

后端 awk Linxu

通用池化框架实践之GenericKeyedObjectPool

FunTester

小程序如何实现一键转换成App

Geek_99967b

小程序容器 小程序转app

发布订阅模式和观察者模式【vue】

达摩

Vue 观察者模式 发布订阅

Linux环境编译动态库

Loken

音视频 5月月更

在线文本删除空行工具

入门小站

工具

查看Docker容器的信息

程序员欣宸

Java 5月月更

开发一个社区网站,只要20分钟?

华为云开发者联盟

ide 敏捷开发 devcloud 网站开发

linux之curl命令

入门小站

Linux

小程序怎样一键转化成APP

Geek_99967b

小程序生态 小程序容器 小程序转app

1.2架构的定义(一)

凌晞

架构 架构设计

做一个能对标阿里云的前端APM工具

光毅

阿里云 性能优化 前端

Kernel SIG直播:关于 Plugsched 调度器热升级 | 第 18 期

OpenAnolis小助手

Linux 直播 内核 sig 龙蜥大讲堂

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