我找不到RemoveRange的异步版本。例如,它存在AddRange
.有人知道为什么吗?对我来说,没有一组同质的命令似乎很奇怪。
因为它是同步操作并提供同步运行并返回已完成任务的假Async
方法将具有误导性并违反异步方法原则。
EF Core 仅为可能访问数据库的方法提供异步版本 - 例如Add{Range}
、Find
、SaveChanges
、Dispose
和同步版本,用于纯粹在状态(更改跟踪器(上运行的方法,如Attach{Range}
、Update{Range}
、Remove{Range}
。
至于为什么Add{Range}
有异步版本,原因在文档中解释:
此方法是异步的,仅允许特殊值生成器(如
Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo
使用的生成器(异步访问数据库。