У меня есть вопрос о реализации шаблона DDD и репозитория. Должен ли я изменить сущность внутри репозитория?
Допустим, у меня есть заказ, и я хочу пометить его как выполненный. Как я вижу, у меня есть два выхода.
-
1.
var order _orderRepository.GetById(1);
order.Finish();
_orderRepository.Update(order);
...где изменение сохраняется в базе данных при вызове Update.
2.
var order _orderRepository.GetById(1);
var finishedOrder = _orderRepository.Finish(order);
...где изменение сохраняется в базе данных при вызове Finish.
Есть ли преимущество использования одного метода над другим? Каков DDD-способ сделать это?