Транзакция 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();
}
}
Вопросы:
- Должен ли я использовать
context.SaveChanges()
метод для всех команд обновления? - Если команда table2 или table3 завершится неудачно, произойдет ли откат команды table1?