Пожалуйста, обратите внимание на модель предметной области, показанную ниже (упрощенно для краткости - без идентификаторов и т. Д.). Customer
может комментировать Product
только один раз. Предположим (по причинам, по которым я не хочу здесь вдаваться), что класс Customer
не может иметь коллекцию Review
s, которой он владеет. Здесь Product
является основным Совокупным корнем.
Часто в этой ситуации при извлечении Product
это будет только в контексте определенного Customer
. Другими словами, меня будут интересовать только члены коллекции Reviews
, принадлежащие этому конкретному Customer
.
Итак, есть ли способ при извлечении объекта Product
ограничить совокупность коллекции обзором, который относится к Customer
I? Как это будет реализовано в 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; }
}
Спасибо