私は、次の集約ルートがあるとします。ページングエンティティ(EF)
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);
}
}
代わりの集合オブジェクトを返し、Iは、集約オブジェクトと(この場合20のエンティティ)エンティティのリストを受信することができる含ま。それはDDDパターンの集合体を扱う良いアプローチですか?
有用な答えを得るために、エンティティのページングされソートされたリストで達成しようとしていることを知りたいと思います。 - 書き込みまたは読み取りモデルにエンティティのページおよびソートされたリストが必要ですか? - このページを使用してエンティティをユーザーに表示しますか? - ドメイン内の不変条件を適用するために、エンティティをページ単位で(クエリで)読み込みますか? –