请考虑下面显示的域模型(为简洁而简化 - 没有 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; }
}
谢谢