写点什么

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

评论

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

GO语言编程工具环境 JetBrains GoLand 2020中文无限试用版

理理

GoLand 2022破解版 GoLand 2022中文版 GO语言编程

全系列ai插件合集 Astute Graphics for Mac v3.0.4永久激活版

理理

MES系统的八大核心功能及车间落地实现

万界星空科技

制造业 生产管理系统 mes 万界星空科技 车间管理系统

BSC发力DEX交易量超过Solana,MEME赛道王者易主?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

独享代理IP有哪些优势?

IPIDEA全球HTTP

高效整理,创造灵活工作空间——iCollections for Mac 🚀🌟

柠檬与橘子

Flink CDC 在新能源制造业的实践

Apache Flink

大数据 flink 实时计算 Flink CDC

最新ps2024软件:Photoshop 2024 (Win&Mac)直装版

你的猪会飞吗

mac软件下载 ps2024 PS2024破解

阿里巴巴中国站1688商品详情API返回值解析:应对更新与变化的策略

代码忍者

API 测试 API 策略

DTCC2024|HashData Enterprise 4.0 正式发布:构建云原生统一数据处理平台

酷克数据HashData

量化合约系统开发程序技术(源码搭建)合约量化开发逻辑方案

V\TG【ch3nguang】

高效地窗口布局管理工具:Magnet for mac

理理

窗口管理工具 magnet pro 破解版 Magnet Pro中文版

智谱开源 CogVideoX-5B 视频生成模型,RTX 3060 显卡可运行;曝 OpenAI 模型「草莓」今秋推出

声网

关于告警,要想做好,从这些方面着手

巴辉特

告警降噪 oncall 告警聚合 告警排班 PagerDuty

如何通过关键词搜索API接口,淘宝商品关键词搜索电商API接口揭秘

联讯数据

Amazon Bedrock 实践:零基础创建贪吃蛇游戏

亚马逊云科技 (Amazon Web Services)

生成式人工智能

推荐一款开源一站式SQL审核查询平台!功能强大、安全可靠!

EquatorCoco

sql 开源 开源数据库

影子测试:软件测试的创新策略

FunTester

轻松管理文件:2024年顶尖局域网文档管理工具

爱吃小舅的鱼

文档管理 局域网

重庆企业选择堡垒机需要考虑哪些因素?有没有推荐的?

行云管家

堡垒机 IT资产 重庆

SD-WAN组网部署需要多久?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

用 Higress AI 网关降低 AI 调用成本 - 阿里云天池云原生编程挑战赛参赛攻略

阿里巴巴云原生

阿里云 云原生 Higress

感谢 Fluent Editor 开源富文本首位贡献者!

OpenTiny社区

富文本 OpenTiny 开源前端

人工智能 | 清华大学ChatGLM大模型

测试人

人工智能

案例研究:如何在复杂环境中增强自组织

ShineScrum

自组织

MacCleaner Pro for Mac(系统综合清理软件) v3.2.5永久激活版

理理

2024-08-28:用go语言,给定一个从1开始、长度为n的整数数组nums,定义一个函数greaterCount(arr, val)可以返回数组arr中大于val的元素数量。 按照以下规则进行n次

福大大架构师每日一题

福大大架构师每日一题

AI引领,驱动未来:零售企业的新质生产力革命

第七在线

OgPhone海外云手机是什么

Ogcloud

云手机 海外云手机 tiktok云手机 云手机海外版 海外社媒运营

AirBuddy 3 for mac AirPods耳机管理软件

理理

Airbuddy AirPods耳机管理工具

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