О домене, управляемом дизайном, Order и OrderLines всегда рассматриваются как совокупность, где Order является корнем. Обычно, когда заказ создан, его нельзя изменить. В моем случае, однако, это возможно. Вместо этого у каждого заказа есть состояние, определяющее, может ли он быть изменен или нет.
В этом случае и Order, и OrderLines имеют свой собственный «совокупный корень»? Мне нужно иметь возможность обновлять строки заказа, поэтому я считаю, что у них должен быть свой собственный репозиторий. Но я не хочу получать строки заказа и сохранять их без заказа. Таким образом, это означает, что все еще есть агрегат, где Order является корнем с фабричным методом для создания строк заказа (Order.CreateOrderLine (amount, text,…).
Другим подходом может быть обновление Заказа после изменения коллекции строк заказа, а затем вызов UpdateOrder (Заказ). Мне понадобится какой-то способ определить, что нужно обновить только коллекцию, а не сам Орден (используя Entity Framework).
Что ты думаешь?