Я изучаю доступ к данным в .NET Framework 4 для сертификации Microsoft и провёл много тестов.
На этот раз я хочу понять цель IsolationLevel
в классе SqlTransaction
. Как я понимаю, эта опция позволяет мне решить, доступны ли изменчивые данные в одной транзакции другой. То есть, например: я создаю строку данных в транзакции 1 и, прежде чем ее зафиксировать, могу прочитать данные в транзакции 2.
Дело в том, что я не могу читать изменчивые данные из одного в другой.
- Если я создаю 1 соединение с 2 транзакциями Я получаю исключение, поскольку SQL Server не поддерживает параллельные транзакции
- Если я создаю 2 соединения с 1 транзакцией каждое, независимо от значения IsolationLevel, программа останавливается, когда я пытаюсь получить доступ к данным в соединении 2, когда соединение 1 находится в транзакции , Когда соединение 1 покидает транзакцию, программа продолжается.
Итак .. Какая польза от IsolationLevel?
PS: Я не говорю о распределенных транзакциях, просто о SqlTransaction.