others - 如何在Entity Framework中,异步提交?

在Entity Framework,如何异步提交事务?


using (var transaction = this.db.Database.BeginTransaction())


{


 this.db.DoSomething();


 await this.db.SaveChangesAsync().ConfigureAwait(false);



 // note .Commit isn't async but it involves network i/o


 transaction.Commit();


}



时间: 原作者:

没有在EF或System.Data异步提交的机制。

ObjectContext.ExecuteInTransactionAsync在为SaveChangesAsync处理事务的地方,异步更新例程被包装在EntityConnection.BeginTransaction和同步DbTransaction.Commit中。

这是System.Data异步的差别,因为大型事务需要很长时间才能提交,一般会在流程中绑定一个线程,因此,有大量数据库更新活动的服务器应用程序可能会失去很多异步代码的好处。

原作者:
...