public void Operation01()
{
//Some Data manipulation here.
this.UnitOfWork.Commit();
}
public void Operation02()
{
Operation01();
//Some db work here
//Some ERROR Occurs here, but operation 1 is commited.
this.UnitOfWork.Commit();
}
UnitOfWork является частным членом класса, введенного каркасом с использованием IOC.Вложенная транзакция с шаблоном UnitOfWork
Я не могу удалить Commit() из Operation01, потому что он иногда называется автономной операцией в приложении. Я хочу отменить все изменения, если на Operation02() возникла какая-либо ошибка.
любой другой способ, более элегантный ... –
Magic? Это примерно так же просто, как вы можете получить. – dbugger