在 EF Core 7 中,我们可以使用批量操作来删除多条数据。这种方式与之前的版本有所不同,本文将对比 EFCore 7 和之前版本批量删除数据的不同方式。

删除给定 ID 的数据

在 EF Core 7 中,我们可以使用以下代码来删除给定 ID 的数据:

await using var db = new MyContext();
await db.MyEntities.Where(static x => x.Id == 1).ExecuteDeleteAsync();

在之前的版本中,我们可以使用以下代码来删除给定 ID 的数据:

await using var db = new MyDbContext();
// delete id == 1 by attaching it to the context
var myEntity = new MyEntity
{
    Id = 1
};
db.Attach(myEntity);
db.Remove(myEntity);
await db.SaveChangesAsync();

删除 Age 大于 10 的数据

在 EF Core 7 中,我们可以使用以下代码来删除 Age 大于 10 的数据:

await using var db = new MyDbContext();
await db.MyEntities.Where(static x => x.Age > 10).ExecuteDeleteAsync();

在之前的版本中,我们可以使用以下代码来删除 Age 大于 10 的数据:

await using var db = new MyDbContext();
// delete age > 10 
var entities = db.MyEntities.Where(static x => x.Age > 10).ToList();
db.MyEntities.RemoveRange(entities);
await db.SaveChangesAsync();

总结

在 EF Core 7 中,我们可以使用 ExecuteDeleteAsync 方法来批量删除数据,这个方法的用法与之前的版本不同。使用这种方法,我们可以方便地在数据库中删除多条数据,提升了删除数据的效率。

参考资料

  • EF Core 7 ExecuteUpdate 和 ExecuteDelete[1]

本文采用 Chat OpenAI 辅助注水浇筑而成,如有雷同,完全有可能。

  • 本文作者: newbe36524
  • 本文链接: https://www.newbe.pro/ChatAI/How-to-batch-delete-data-by-efcore-7/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

参考资料

[1]

EF Core 7 ExecuteUpdate 和 ExecuteDelete: https://learn.microsoft.com/ef/core/what-is-new/ef-core-7.0/whatsnew?source=recommendations&WT.mc_id=DX-MVP-5003606#executeupdate-and-executedelete-bulk-updates

如何使用 EF Core 7 批量删除数据的更多相关文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   ...

  2. EntityFramework:支持同一事务提交的批量删除数据实现思路

    一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...

  3. ef core实现软删除

    很多web程序一般的偶不会设计真的物理删除了. 基本上都是在在数据库加一个标记,就得当作已经删除了.同时在查询的时候,过滤已经标记删除的数据 ef core实现软删除是非常简单的,直接在OnModel ...

  4. EF Core利用Transaction对数据进行回滚保护

    What? 首先,说一下什么是EF Core中的Transaction Transaction允许以原子方式处理多个数据库操作,如果事务已提交,则所有操作都应用于数据库,如果事务回滚,则没有任何操作应 ...

  5. php 批量删除数据

    php 批量删除数据 :比如我们在看邮箱文件的时候,积攒了一段时间以后,看到有些文件没有用了 这时候我们就会想到把这些 没用的文件删除,这时候就用到了批量删除数据的功能,这里我是用了数据库原有的一个表 ...

  6. crm使用soap批量删除数据

    //批量删除数据 function demo() {     //实体名称     var entityname = "fw_student";     var data = [] ...

  7. DDD Code First 迁移数据实现EF CORE的软删除,值对象迁移配置

    感谢Jeffcky大佬的博客: EntityFramework Core 2.0全局过滤 (HasQueryFilter) https://www.cnblogs.com/CreateMyself/p ...

  8. sqlalchemy批量删除数据、全量删除

    问题:sqlalchemy如何批量删除多条数据解决:使用参数synchronize_session=False,或for循环方法:        users = self.db.query(User) ...

  9. mysql 批量删除数据

    批量删除2000w数据 使用delete from table太慢 //DELIMITER DROP PROCEDURE if EXISTS deleteManyTable; create PROCE ...

  10. Dapper, Ef core, Freesql 插入大量数据性能比较(一)

    需求:导入9999行数据时Dapper, Ef core, Freesql 谁的性能更优,是如何执行的,级联增加谁性能更佳. 确认方法:sql server 的 sys.dm_exec_query_s ...

随机推荐

  1. JS 模块化- 04 CMD 规范与 Sea JS

    1 CMD 规范介绍 CMD: Common Module Definition, 通用模块定义.与 AMD 规范类似,也是用于浏览器端,异步加载模块,一个文件就是一个模块,当模块使用时才会加载执行. ...

  2. 「Tubian」Tubian0.4!完全开源!

    Tubian是我自己维护的Linux发行版.Tubian基于Debian,提供了开箱既用的Wine和Waydroid,装好就有对Android应用和Windows程序的兼容. Sourceforge. ...

  3. 内存映射IO(MMIO)

    端口I/O 介绍: 一种I/O编址方式是端口映射I/O(port-mapped I/O), CPU使用专门的I/O指令对设备进行访问, 并把设备的地址称作端口号. 在执行其中的一条指令时,CPU使用地 ...

  4. Apache Dolphin Scheduler 3.0.1 发布,对核心及UI相关进行优化

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler ​ 版本发布 感谢本次的 Release Manager -- ...

  5. 故障复盘究竟怎么做?美图SRE结合10年经验做了三大总结(附模板)

    美图崇尚的故障文化是 "拥抱故障,卓越运维",倡导的基准是 No-Blame, 即「不指责,重改进」.今年 9 月 TakinTalks 社区曾经分享过美图的三段式故障治理方法(美 ...

  6. 16.-admin管理后台

    一.admin管理后台 Django提供给了比较完善的后台管理数据库接口,可供开发过程中调用和测试使用 Django会搜集所有已注册的模型类,为这些模型类提供数据管理界面,供开发者使用   命令:py ...

  7. Istio(十一):向istio服务网格中引入虚拟机

    目录 一.模块概览 二.系统环境 三.虚拟机负载 3.1 虚拟机负载 3.2 单网络架构 3.3 多网络架构 3.4 Istio 中如何表示虚拟机工作负载? 四.实战:向istio Mesh中引入虚拟 ...

  8. Vue3的新特性

    总概 1) 性能提升 打包大小减少 41% 初次渲染快 55%,更新渲染快 133% 内存减少 54% 使用 Proxy 代替 defineProperty 实现数据响应式 重写虚拟 DOM 的实现和 ...

  9. 7.Vue常用属性

    1. data:数据属性 在之前的学习中我们已经了解到了data,属性中存放的就是js变量 <script> new Vue({ el: '#app', // data data: { u ...

  10. vue引用MarkDown(mavonEditor)编辑器,文档

    mavonEditor Install mavon-editor (安装) npm install mavon-editor --save 如何引入: 全局引用: // 全局注册 import Vue ...