以下に示すドメイン モデルを検討してください (簡潔にするために簡略化されています - ID などはありません)。Aは一度だけCustomer
コメントできProduct
ます。Customer
クラスが所有する s のコレクションを持つことができないと仮定しましょう (ここには入りたくない理由があります) Review
。これProduct
がメインの集約ルートです。
多くの場合、この状況では、 を取得するときProduct
に、特定の のコンテキストでのみ取得されますCustomer
。Reviews
つまり、その特定の に属するコレクションのメンバーのみに関心がありCustomer
ます。
では、オブジェクトを取得するときProduct
に、コレクションの人口をCustomer
私が提供するレビューに制限する方法はありますか? これはNHibernateでどのように実装されますか? これは NHibernate のベスト プラクティス (および程度の低い DDD) とまったく一致していますか?
public class Product
{
public virtual string Name { get; set; }
public virtual ISet<Review> Reviews{ get; set; }
public Product()
{
Reviews= new HashedSet<Review>();
}
}
public class Review
{
public virtual string ReviewText { get; set; }
public virtual Customer Reviewer { get; set; }
}
public class Customer
{
public virtual string Name { get; set; }
}
ありがとう