我已经阅读了有关TransactionScope和这篇文章的内容,但我仍然不明白 2 件事:
- 什么时候
SqlCommand.ExecuteNonQuery执行它直到scope.Complete()被调用才真正执行?如果是真的,那么在范围内执行的所有操作都保留在哪里等待scope.Complete()或scope.Rollback()? - 何时
TransactionScope实例化它如何防止SqlCommand.ExecuteNonQuery被执行并等待scope.Complete()或scope.Rollback()?它是否创建了一些“地方”并SqlCommand以某种方式知道它并将说明放在那里?