我遇到这种奇怪的行为,只有当using
退出而不是在调用scope.Complete();
时才会提交事务
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew))
{
scope.Complete();
// data still doesn't show in db
}
// now shows in db
如何在退出using
声明之前提交交易?
答案 0 :(得分:10)
如果TransactionScope对象创建了事务,则资源管理器之间的实际提交工作发生在 End Using 语句中。
因此,看起来你可以在using语句结束之前真正提交事务。