ABP .NET6 升级 EF Core 7 使用ExecuteUpdate实现批量更新并监测生成的SQL

记录一个简单的使用EFCore7批量更新的例子

EF7 面向 .NET 6,因此可与 .NET 6 (LTS) 或 .NET 7 一起使用。
详见:官方文档

先更新如下包

Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 7.0.0
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 7.0.0
Install-Package Microsoft.EntityFrameworkCore.Design -Version 7.0.0

在Controller中添加引用

using Microsoft.EntityFrameworkCore;

方法体代码

//更新所有实体的CreationTime为当前时间
_roleRepository.GetAll()
  //.Where(entity => entity.Id > 0)编写where语句
  .ExecuteUpdate(update => update.SetProperty(entity => entity.CreationTime, DateTime.Now));

执行前的数据

执行后的数据

可以看到2条数据的CreationTime都被修改成了相同的值

看一下生成的SQL日志

更新了2条数据,只生成了1条update语句。
如果是EFCore7之前的版本更新n条数据时,会生成1条查询语句和n条update语句。
这说明EFCore7的批量更新性能更好了。

posted @   cnblogsName  阅读(459)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示