TransactionScope Complete() не совершает транзакцию перед выходом из оператора USING

Я испытываю такое странное поведение, когда транзакция фиксируется только тогда, когда using завершается, а не при вызове scope.Complete();

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

Как выполнить транзакцию перед выходом из инструкции using?

Ответ 1

из документации:

Фактическая работа фиксации между менеджером ресурсов происходит в операторе End Using, если объект TransactionScope создал транзакцию.

Таким образом, не похоже, что вы действительно можете совершить транзакцию до конца использования.