11

我遇到了这种奇怪的行为,只有在using退出时才提交事务,而不是在调用时提交scope.Complete();

using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
       {
        scope.Complete();
           // data still doesn't show in db
       }
       // now shows in db

如何在退出using语句之前提交事务?

4

1 回答 1

10

文档

如果 TransactionScope 对象创建了事务,则资源管理器之间的实际提交工作发生在End Using语句中。

所以看起来你不能在 using 语句结束之前真正提交事务。

于 2013-04-25T12:04:26.193 回答