Этот ответ зависит от вашего ORM и от того, как он спасается каскадами. Мы предполагаем, что вы не используете ORM, каскадно меняющий изменения.
Ваши методы уровня обслуживания должны отражать действия, которые вам необходимо выполнить с деловой точки зрения. Часто я обнаруживаю, что действия моего контроллера очень близко соответствуют методам обслуживания.
В вашем примере я хотел бы собрать сервис и связать его с необходимыми сущностями и поговорить с репозиториями, чтобы сохранить их; таким образом, если во время разговора с репозиториями возникает проблема, он может откатиться назад и выполнить необходимую очистку.
Репо должны быть относительно тупыми. Службы должны заниматься взаимоотношениями и деловой работой (за исключением чего-то вроде NHib, а может, даже тогда).