2010-10-18 50 views
3

我想知道如何處理包含具有大量實體的集合的聚合根。域驅動設計:具有大集合的聚合根

像:

public class AggregateRoot 
{ 
    public ICollection<Child> Children { get; set; } // 10.000 entities 
} 

我將如何查詢子集合得到具體的孩子嗎?我使用Nhibernate btw。

回答

1

您可以使用Nhibernate的collection filters進行此操作,請參閱此similar question的示例。

+1

這應該在存儲庫(aggregateRootRepository.getChildren(0,100))中實現。 – Kdeveloper 2010-10-23 22:13:50

+3

@Kdeveloper:是的,這是一般的想法。雖然當這樣的情況出現時,你需要問自己:「我是否錯過了真正的聚合根?」 – DanP 2010-10-24 18:33:39