2

以下に示すドメイン モデルを検討してください (簡潔にするために簡略化されています - ID などはありません)。Aは一度だけCustomerコメントできProductます。Customerクラスが所有する s のコレクションを持つことができないと仮定しましょう (ここには入りたくない理由があります) Review。これProductがメインの集約ルートです。

多くの場合、この状況では、 を取得するときProductに、特定の のコンテキストでのみ取得されますCustomerReviewsつまり、その特定の に属するコレクションのメンバーのみに関心があり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; }
}

ありがとう

4

0 に答える 0