Je veux renvoyer un objet parent avec la collection enfants très chargée avec la page demandée (sous-ensemble) d'objets enfants. Quel est le meilleur moyen d'y parvenir? Filtres? Est-ce possible avec une requête ICriteria? J'utilise .SetFirstResult() et .SetMaxResults() pour faire la pagination pour les collections de résultats racines agrégées, mais est-il possible d'utiliser cela avec l'agrégat root pour sélectionner la page des résultats enfants?NHibernate: moyen le plus simple de renvoyer un objet avec une collection d'enfants paginés?
Quelque chose le long de ces lignes:
public class Parent{
int Id;
IList<Child> Children;
}
public Parent GetWithPagedChildren(int id, int page, int pageSize, out int count)
{
//Query
return Parentresult; //With one page of children populated.
}
MISE À JOUR:
En fait, l'exigence de chargement avec impatience est pas si important. Je veux juste que le sous-ensemble paginé des objets enfants soit chargé quand j'y accède.
Pourquoi voulez-vous paginer les enfants? Sont-ils trop nombreux pour entrer dans la mémoire? –
@Stefan: Il semble juste incorrect et inutile de récupérer la totalité de la collection enfant de la base de données quand je sais que seul un petit sous-ensemble est nécessaire. – UpTheCreek