Я пытаюсь понять, есть ли у нас проблема в нашем приложении с подключениями к базе данных, используя неправильные IsolationLevels. Наше приложение представляет собой приложение базы данных .Net 3.5 с использованием SQL Server 2005.
Я обнаружил, что IsolationLevel соединений не reset, когда они возвращаются в пул соединений (см. здесь) и был также очень удивлен, прочитав в этом блоге, что каждый новый созданный TransactionScope получает свой собственный пул соединений, назначенный ему.
Наши обновления баз (через наши бизнес-объекты) происходят в TransactionScope (новый для каждого обновления объекта бизнес-объекта создается). Но наши выборки не используют явную транзакцию. Так что мне интересно, можем ли мы когда-нибудь попасть в ситуацию, когда наши операции с выборкой (которые должны использовать значение IsolationLevel - Read Committed по умолчанию) будут повторно использовать соединение из пула, которое было использовано для обновления, и наследовать обновление IsolationLevel (RepeatableRead)? Или наши обновления будут гарантированно использовать другой пул соединений, поскольку они завернуты в TransactionScope?
Спасибо заранее,
Грэхэм