При использовании TransactionOption.Required транзакция присоединяется к внешней транзакции.
Одна из возможных теорий:
- Если вы пройдете через область транзакции и не вызовете scope.Complete (), она удалит заведомо транзакцию. Следующий код, который попытается выполнить с базой данных, потерпит неудачу.
Еще бы проблемы с активными наборами результатов:
- Используете ли вы SQL Server 2000, который не поддерживает несколько активных наборов результатов (MARS)
- Указывает ли в строке подключения MultipleActiveResultSets = true