Забавно, вы должны поднять это, так как у меня та же проблема.Моя проблема не связана с подкачкой страниц с использованием NHibernate, но больше связана с простым использованием T-SQL.
Кажется, что есть несколько вариантов.Тот, который я нашел весьма полезным в моем случае, был этот ответ на вопрос, касающийся подкачки.В нем обсуждается использование "решения, управляемого ключами ..", а не возвращение ранжированных результатов с помощью ROW_NUMBER ().Я не уверен, что NHibernate будет использовать в этом случае или если возможно увидеть SQL, который он генерирует на основе вашего запроса (я знаю, что вы могли бы в Hibernate, но я не использовал NHibernate).
Если вы не знаете, как использовать SQL SERVER для получения ранжированных результатов, основанных на ROW_NUMBER, тогда стоит посмотреть.Многие люди, кажется, обращаются к этой статье о том, как делать пейджинг.Я видел, как некоторые последующие публикации не одобряют использование SET ROWCOUNT, хотя в пользу использования TOP с динамическим параметром - SELECT TOP (@NumOfResults).
В SO много сообщений на эту тему, но нет точного ответа на лучший способ сделать это, насколько я вижу.Я буду следить за этим сообщением, чтобы увидеть, что другие также предлагают.