在事务中使用Dapper异步操作

4

我们目前使用Dapper来处理一些非常耗费时间的更新/删除场景,并且我们对其非常满意。

现在我们有以下需要加速的场景:

  • Update 1 大约需要 ~60 秒钟。
  • Update 2 小于 1 秒钟。

如果我们按照同步方式进行,我们将总共花费约61秒钟等待。我们可以通过使用ExecuteAsync方法调用第一个更新操作,但不要等待它完成以加快速度:

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

注意缺乏await关键字。
这样做可以提高速度,但这是个好主意吗?在事务中能否正常工作? 当执行提交事务时,第一次更新仍在执行,会发生什么? 或者,在不使用await的情况下使用ExecuteAsync是个坏主意吗?
假设更新2不依赖于更新1。
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接