Можно ли отменить добавление в бд через EFCore после выполнения SaveChanges?
У меня есть большой метод в котором несколько добавлений в разные таблицы бд. Такое бывает, что на каком-то этапе вылетает исключение и поэтому полного результата работы программы нет (т.к отсутствуют записи в некоторых таблиц из-за исключения). Могу ли я после SaveChanges отменять сохранение?
Все методы добавления в следующем примере кода имеют структуру:
_context.MyConcreteModels.AddAsync(item);
_context.SaveChangesAsync();
public async Task BegMethod(Document item)
{
await store1.AddItem(item); //В бд добавилось
await store2.AddItem(new MyModel2 { ... }); //В бд добавилось
//много разных и очень важных строк кода
//..но вдруг исключение. И теперь те два добавления было бы неплохо "отменить".
await store3.AddItem(new MyModel3 { ... });
}