Я использую транзакции в Entity Framework Core. Я хочу откатиться только тогда, когда выдается исключение. Мне действительно нужно звонить Rollback
? Кажется, что транзакция автоматически откатывается в конце моего using
блока, если Commit
не был вызван. Кроме того, чтобы сделать мой код более понятным о его намерениях, есть ли причина вызывать Rollback
здесь?
Пример:
using (var tran = context.Database.BeginTransaction()) {
try {
var dog = new Dog();
context.Dogs.Add(dog);
var cat = new Cat();
context.Cats.Add(cat);
tran.Commit();
}
catch (Exception ex) {
Logger.Error(ex, "Something bad happened");
tran.Rollback(); // Does this line matter?
}
}