Несколько соединений с одной и той же строкой соединения в одной транзакции, повышенная транзакция? - PullRequest
2 голосов
/ 27 декабря 2008

При использовании ado.net и создании нескольких подключений к базе данных MS SQL Server в рамках одной транзакции (с использованием System.Transactions.TransactionScope), System.Transactions переводит транзакцию из облегченного диспетчера транзакций в координатор распределенных транзакций ( координатор транзакций ядра в Vista), даже если строки подключения одинаковы для всех объектов подключения?

Документация несколько неоднозначна в этой конкретной ситуации. Он говорит, что транзакция будет повышена, если во время транзакции будет открыто другое соединение с сервером, но не говорит, делает ли это все время или только если строка соединения отличается. Для меня не имеет смысла, что это повысит уровень транзакции, если строка подключения будет такой же, но если это произойдет, то по сути это сделает легкий менеджер транзакций совершенно бесполезным, IMO.

1 Ответ

3 голосов
/ 27 декабря 2008

В текущей версии, к сожалению, транзакция всегда повышается.

Что, как вы говорите, делает TransactionScope намного менее полезным, чем могло бы быть. Я полагаю, что есть планы изменить это в будущей версии.

...