I was actively using TransactionScope in my application and was happy. But now I came to the situation where TransactionScope is not enough flexible: first of all, because I can't change IsolationLevel dynamically.
What is the easiest way to replace TransactionScope by database transaction which can be managed manually? One of the features I want to keep is the support of cross-connections transactions.
I think that the conculsion is that you cannot do this: Have both a distributed transaction and change the isolation level.
You cannot change the isolation level of a transaction after it has started.
To use cross connection transactons you need to use transaction scope, or a COM+ transaction via enterprise services. In both cases you cannot change the isolation level after the transaction is created.
It is possible to to change the isolation level of a SQL connection using the "set transaction isolation level " SQL statement.