在 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 许可协议。转载请注明出处!
参考资料
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
原文始发于微信公众号(newbe技术专栏):如何使用 EF Core 7 批量删除数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68067.html