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非同步的差別,因為大型事務需要很長時間才能提交,一般會在流程中綁定一個線程,因此,有大量資料庫更新活動的伺服器應用程序可能會失去很多非同步代碼的好處。

原作者:
...