J'ai deux tables: Parent et Child qui ont la relation suivante: Parent a beaucoup de Childs.NHibernate: comment sélectionner un parent/enfant trié et récupérer uniquement des numéros de ligne spécifiques
public class Parent
{
public DateTime Timestamp;
public IList<Child> Child;
}
public Child
{
public string Name;
}
Je veux sélectionner les deux parents et enfants, classés par Horodatage et obtenir uniquement les lignes entre l'indice x à y.
public IList<Parent> Get(DateTime from, DateTime to, int startRow, int count)
{
QueryOver<Parent>().Where(row => row.Timestamp >= from)
.And(row => row.Timestamp <= to).OrderBy(row => row.Timestamp).Asc.List();
}
Je ne sais pas comment obtenir uniquement les lignes requises.
Devrais-je le faire avec QueryOver? ou c'est mieux de le faire en HQL?
Merci
Etes-vous en train de dire que vous voulez qu'EAGER charge les enfants avec leurs parents? – Rippo
Oui et je veux aussi filtrer le résultat pour récupérer seulement la gamme de lignes – Haimon
Quand vous dites "range of rows" voulez-vous dire tous les parents entre les lignes x et y, c'est à dire quelque chose comme 'select * de Parents où RowNum entre: x : y'? – mickfold