Вышеуказанное работает нормально, если вы используете провайдер соединений, который поддерживает использование облегченного диспетчера транзакций, такого как SQL Server 2005/2008.
Если вы используете SQL Server 7/2000, то все ваши транзакции станут распределенными транзакциями, даже если вы нажмете только одну базу данных / ресурс. Это, вероятно, не то, что вы хотели бы в большинстве случаев, и будет дорогой производительности.
Итак, проверьте, подходит ли комбинация вашего провайдера соединений и сервера базы данных для использования с TransactionScope.