假设我有以下聚合根:
public class Aggregate
{
public int Id {get; set;}
public List<Entity> Entities {get; set;}
}
以下是相关仓库:
public class AggregateRepository
{
public Aggregate GetPaged(int Id)
{
return db.Aggregate
.Include(x=>x.Entities)
.Find(id)
}
}
问题:如何获取分页和排序的实体列表?获取分页和排序的实体的最佳方法是什么,同时还包括聚合信息?
编辑:
您认为以下方法怎么样?public class AggregateRepository
{
public IEnumerable<Entity> GetEntitiesPaged(int id)
{
return db.Aggregate
.Include(x=>x.Aggregate)
.Where(x=>x.Id = id)
.Select(x=>x.Entities)
.Take(20);
}
}
我可以接收包含聚合对象的实体列表(在本例中有20个实体),而不是返回一个聚合对象。这是在DDD模式中使用聚合的好方法吗?