【发布时间】:2015-02-28 19:45:13
【问题描述】:
我们目前正在使用 dapper 处理一些非常昂贵的更新/删除场景,我们对此非常满意。
现在我们有以下场景,我想加快速度。
- 更新 1 大约需要 60 秒。
- 更新 2 需要
如果我们以同步方式执行此操作,我们总共将花费大约 61 秒的等待时间。
我们能否加快速度,使用ExecuteAsync 方法调用第一个更新,但不等待它。像这样:
Connection.ExecuteAsync("Update 1", new { someValue }, Transaction, 120);
Connection.Execute("Update 2", new { someValue }, Transaction);
请注意缺少await 关键字。
这会加快速度,但这是个好主意吗?它可以在事务中使用吗? 当事务提交被命中并且第一次更新仍在执行时会发生什么? 或者在没有 await 的情况下使用 ExecuteAsync 是个坏主意?
假设更新 2 不依赖于更新 1。
【问题讨论】:
标签: asynchronous transactions dapper