Транзакция Entity Framework для нескольких необработанных команд обновления

Я новичок в использовании транзакции Entity Framework для Postgresql. Мне нужно выполнить несколько UPDATE запросы.

using (DbContextTransaction transaction = context.Database.BeginTransaction())
{
    try
    {
        context.Database.ExecuteSqlCommand("Update table1 ....");
        context.Database.ExecuteSqlCommand("Update table2 ....");
        context.Database.ExecuteSqlCommand("Update table3 ....");

        transaction.Commit();
    }
    catch (Exception ex)
    {
        transaction.Rollback();
    }
}

Вопросы:

  1. Должен ли я использовать context.SaveChanges() метод для всех команд обновления?
  2. Если команда table2 или table3 завершится неудачно, произойдет ли откат команды table1?

0 ответов

Другие вопросы по тегам