DDD は、集約ルートを介してのみエンティティにアクセスする必要があると述べています。たとえば、多くの子 Y エンティティを持つ可能性のある集約ルート X があるとします。ここで、いくつかのシナリオでは、一度にこれらの Y エンティティのサブセットのみを本当に気にします (おそらく、それらをページ付きリストなどに表示しています)。
その場合、そのようなシナリオで不完全な集計を返すようにリポジトリを実装しても問題ないでしょうか? すなわち。Ys コレクションである X オブジェクトには、関心のある Y インスタンスのみが含まれ、すべてではありませんか? これにより、たとえば、Y を含む何らかの計算を実行する X のメソッドが期待どおりに動作しない可能性があります。
これはおそらく、問題の Y エンティティが集約ルートに昇格されたと見なされるべきであることを示しているのでしょうか?
私の現在のアイデア (C#) は、LINQ の遅延実行を利用して、X オブジェクトが Y との関係を表す IQueryable を持つようにすることです。このようにして、フィルタリングを使用して透過的な遅延読み込みを行うことができます... ORM(私の場合はLinq to Sql)を使用するのは少し難しいかもしれません。
他に賢いアイデアはありますか?