Sélectionnez chaque nième ligne avec NHibernate

Comment implémenteriez-vous une requête qui sélectionne chaque nième ligne, avec NHibernate QueryOver, HQL ou Criteria?

Actuellement, j'utilise la requête T-SQL suivante:

SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row] FROM [TABLE_NAME] ) x WHERE (x.[Row] % 100) = 0 

(Merci à Marc Gravell )

Avez-vous envisagé la possibilité d'utiliser une table d'indexing dans une jointure croisée? Ce que je veux dire, c'est que vous avez une table avec autant de lignes que vous le pensez avec une colonne indexée d'entiers allant de 1-n dans chaque ligne. Cela peut être dans une database principale peut-être avec une colonne de date à côté – c'est incroyable à quel point cette méthode est utile. La requête ressemblerait alors à

 SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row] FROM [TABLE_NAME] ) x INNER JOIN [Index_Table] i ON i.Id*100=x.[Row] 

Identique à L2S – il n'y a pas de moyen facile de le faire sans SQL. Et la syntaxe serait spécifique au SGBD de toute façon.