Prise en compte avec NHibernate + Linq + Futur

Je veux faire de la pagination avec NHibernate lors de l'écriture d'une requête Linq. Il est facile de faire quelque chose comme ceci:

return session.Query<Payment>()
    .OrderByDescending(payment => payment.Created)
    .Skip((page - 1)*pageSize)
    .Take(pageSize)
    .ToArray();

Mais avec ce je ne pas obtenir aucune info sur le nombre total d'éléments. Et si je fais juste un simple .Count(), qui va générer un nouvel appel à la base de données.

J'ai trouvé cette réponse qui résolu par l'utilisation future. Mais il utilise des Critères. Comment puis-je faire cela avec Linq?

  • Session D'Utilisation.QueryOver au lieu de cela est qu'il économise de l'intellisense et "compileability", et il est un SelectCount méthode. Si vous avez besoin je peux fournir des détails exemple d'utilisation
  • Oui s'il vous plaît, QueryOver semble bien fonctionner aussi!
  • (J'ai repéré une erreur dans ma solution et l'a supprimé pour éviter toute confusion. Je vais poster la version fixe peu de temps)
InformationsquelleAutor Allrameest | 2011-02-10