Похоже, что nHibernate пытается заполнить всю дочернюю коллекцию, всегда выполняя внешнее соединение для загруженных коллекций, что приводит к неидентичному набору строк с идентичной левой частью.
Id | CollectionId
-------------------
1 | 1
1 | 2
2 | 3
3 | 4
3 | 5
Вы поняли идею. LIMIT для такого набора строк не будет иметь смысла, так как вы практически ограничите внутренние данные nHibernate вместо ограничения набора результатов, который вас действительно интересует. Однако я пока не нашел способа сделать пейджинг с активной загрузкой. Я думаю, что это может быть невозможно сделать только с одним запросом.