В .NET, когда мы используем TransactionScope, мы можем делиться одной транзакцией через несколько соединений.
using(TransactionScope tran = new TransactionScope()) {
//this method open a new connection
CallAMethodThatDoesSomeWork();
//this method open another new connection
CallAMethodThatDoesSomeMoreWork();
tran.Complete();
}
Я не могу понять, как этовозможно, принимая во внимание, что для транзакции в базе данных требуется специфическое соединение.
Как это работает?Я думаю, что, возможно, физическая связь всегда одинакова.Может ли это быть возможно?
Обновление: предположим, что строка соединения одинакова для всех соединений, то есть я не работаю с разными базами данных, всегда одинакова ...