Поведение вложенных вызовов BeginTransaction в Entity Framework - PullRequest
0 голосов
/ 12 июня 2018

В настоящее время используется BeginTransaction () для внесения изменений в мою базу данных.

Код для базовой транзакции выглядит следующим образом:

using (var ctxTransaction = _db.Database.BeginTransaction())
    {
        //do A
        _db.SaveChanges()
        ctxTransaction.Commit();
    }

, но я вызываю метод, который также выполняеттранзакция, в результате чего моя функция выглядит следующим образом:

using (var ctxTransaction = _db.Database.BeginTransaction())
    {
        //do A
        _db.SaveChanges()

        using (var ctxTransaction2 = _db.Database.BeginTransaction())
        {
            //do B
            _db.SaveChanges()
            ctxTransaction2.Commit();
        }

        //do C
        _db.SaveChanges()
        ctxTransaction.Commit();
    }
  1. Если откат B, будет ли откат A также откат?
  2. , если откат C, будет ли Bтакже будет откат?
...