Произойдет ли откат транзакции в транзакции, если внешняя транзакция достигнет отката? [дубликат]C#

Место общения программистов C#
Anonymous
Произойдет ли откат транзакции в транзакции, если внешняя транзакция достигнет отката? [дубликат]

Сообщение Anonymous »

У меня есть 2 таких метода: метод 1 вызывает метод 2:

Код: Выделить всё

public void Method1(string connectionString)
{
var con = new SqlConnection(connectionString);
var transaction = con.BeginTransaction();

try
{
con.Open();
Method2(connectionString);
do sth that make errors bla bla...;
transaction.Commit();
con.Close();
}
catch
{
transaction.RollBack();
con.Close();
}
}

public void Method2(string connectionString)
{
var con = new SqlConnection(connectionString);
var transaction = con.BeginTransaction();

con.Open();
do sth that dont make errors bla bla...;
transaction.Commit();
con.Close();
}
Интересно, будет ли метод 2 успешным и зафиксирует транзакцию, но затем метод 1 обнаружит ошибку и откатится, транзакция в методе 2 тоже откатится?
Спасибо. !
Я попробовал это, но результат для меня недостаточно ясен, я до сих пор не понимаю, как работает транзакция в этом случае, рассматривается ли она как две отдельные транзакции или нет?

Подробнее здесь: https://stackoverflow.com/questions/783 ... t-rollback

Вернуться в «C#»