使用 BulkUpdateAsync 或 UpdateRange

All*_*XyS 1 c# async-await bulkupdate entity-framework-core .net-core

到目前为止,当主题是 dbContext 时,我在任何可能的地方都使用了异步方法。但是,为了更新实体,我不知道异步方法并使用UpdateRange(用于实体列表)。

现在,我发现BulkUpdateAsync(实体),我没有看到这两种方法之间有很大的区别,它接受 IEnumerable 列表,而 UpdateRange 接受 IEnumerable。

因为每次使用版本后都使用await context.SaveChangesAsync,所以有必要使用BulkUpdateAsync吗?

关于 .Net Core 3 和 EF Core 3

Joh*_*lay 5

只有实际与数据库交互的方法才需要异步。

UpdateRange只需告诉 EF 开始跟踪实体;这是在内存中完全同步完成的,并且不会提交到数据库。

一旦调用,await context.SaveChangesAsync更新就会异步提交到数据库。