У меня есть код внутри класса DatabaseClient, который проверяет, существует ли активный TransactionScope, проверяя свойство ThreadStatic, Transaction.Current:
if (Transaction.Current == null)
{
// open a new connection and do things
}
У меня есть код, потребляющий этот класс, который создает TransactionScope, выполняет две операции с базой данных и затем завершает его. Затем приложение переходит к дальнейшей работе с базой данных. Но теперь, когда он вызывает код выше, я получаю исключение:
System.InvalidOperationException: The current TransactionScope is already complete.
Что мне нужно сделать, чтобы "сбросить" текущую транзакцию, чтобы я мог снова безопасно проверить Transaction.Current?