2

请考虑下面显示的域模型(为简洁而简化 - 没有 id 等)ACustomer只能评论Product一次。让我们假设(出于我不想进入这里的原因)Customer该类不能拥有Review它拥有的 s 集合。这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; }
}

谢谢

4

0 回答 0