使用 BulkUpdateAsync 或 UpdateRange

Using BulkUpdateAsync or UpdateRange

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

现在,我发现 BulkUpdateAsync(entities) 并且我没有发现这两种方法之间有很大区别,它接受 IEnumerable 列表,而 UpdateRange 接受 IEnumerable。

因为在每个使用版本之后使用await context.SaveChangesAsync,所以需要使用BulkUpdateAsync?

关于 .Net Core 3 和 EF Core 3

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

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

调用 await context.SaveChangesAsync 后,更新将异步提交到数据库。