トランザクション内でdapper asyncを使用する

asynchronous dapper transactions

質問

私たちは現在、非常に高価な更新/削除シナリオを扱うためにdapperを使用しており、非常に満足しています。

今私はスピードアップしたいと思う次のシナリオがあります。

  • アップデート1には約60秒かかります。
  • 更新2は1秒未満です。

これをシンクロさせると、合計で61秒待機します。これをスピードアップして、 ExecuteAsyncメソッドで最初の更新を呼び出すことはできますが、それを待つことはできません。そのようです:

Connection.ExecuteAsync("Update 1", new { someValue }, Transaction, 120);
Connection.Execute("Update 2", new { someValue }, Transaction);

awaitキーワードがないことに注目してください。

これは物事をスピードアップしますが、それは良いアイデアですか、それはトランザクションで動作しますか?トランザクションのコミットが成功し、最初の更新がまだ実行中の場合はどうなりますか?または、待たずにExecuteAsyncを使用するのは悪い考えですか?

更新2は更新1に依存しないと仮定します。

人気のある回答

最初の更新が2番目の同じデータで機能せず、結果を待つ必要がない場合は、待たずに非同期モードで実行できます。このページを読むことをお勧めします:

http://www.joesauve.com/async-dapper-and-async-sql-connection-management/

データベースへの非同期接続で非同期コマンドを実行する方法を説明していますが、それはあなたにとって有益だと思います。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ