Да, Castle ActiveRecord поддерживает разбиение по страницам. В дополнение к API NHibernate для пейджинга вы можете использовать SlicedFindAll()
, например ::
Post[] posts = Post.SlicedFindAll(10, 20);
, где 10 - первый индекс результата, а 20 - размер страницы (он вернет массив 20 Post
с)
Вы также можете определить критерии, например, чтобы получить первые 100 комментариев поста:
Post post = ...
Comment[] comments = Comment.SlicedFindAll(0, 100, Restrictions.Eq("Post", post));
Вы также можете «пейджировать» коллекции с помощью пакетной выборки (что соответствует свойству BatchSize в HasManyAttribute), но этот размер пакета фиксирован, поэтому он не такой гибкий, как при обычном подходе к подкачке. *