Domain Driven Design について、Order と OrderLines は常に集約として見なされ、Order がルートになります。通常、注文が作成されると、それを変更することはできません。しかし、私の場合、それは可能です。代わりに、各注文には、注文を変更できるかどうかを決定する状態があります。
この場合、Order と OrderLines はどちらも独自の「集約ルート」ですか? 注文明細を更新できるようにする必要があるため、注文明細には独自のリポジトリが必要であると考えています。しかし、注文明細を取得したくなく、注文なしで永続化します。したがって、これは、Order がルートであり、注文明細行を作成するためのファクトリ メソッド (Order.CreateOrderLine(quantity, text, …) を持つ集約がまだあることを示しています。
もう 1 つの方法は、注文明細行のコレクションが変更されたときに Order を更新してから、UpdateOrder(Order) を呼び出すことです。コレクションのみを更新する必要があり、Order 自体は更新しないことを (Entity Framework を使用して) 検出する何らかの方法が必要です。どう思いますか?