Ссылка на классическую единицу работы Мартина Фаулера дизайн
Так что в принципе Save () будет выглядеть так:
public void Save()
{
try
{
// save changes into database then commit
// ...
unitOfWork.Commit();
}
catch
{
unitOfWork.Rollback();
}
}
Также см. Пример интерфейса на сайте обзора кода stackexchange: Интерфейс единицы работы