Не могу сказать, что на самом деле знаю способ выполнения того, что вы просите, NHibernate возвращает фактический объект, который вы запрашиваете, в этом случае он возвращает список / набор родительских объектов. К этому родительскому объекту будет присоединена коллекция дочерних объектов. Насколько мне известно, концепция связывания этих данных дважды и извлечения различной информации не работает в NHibernate.
Если вам требуется, чтобы это было доступно непосредственно в Parent, я бы предложил создать еще одну переменную в объекте Parent, в которой эти данные предварительно отфильтрованы через атрибут where в вашем файле Parent.hbm.xml. Если вы не хотите этого делать, я бы предложил использовать LINQ или что-то подобное для извлечения последнего объекта Child для каждого Parent в вашей коллекции.
Пример атрибута "where", который вы найдете в файле Parent.hbm.xml:
<set name="LatestChild" table="child" generic="true" inverse="true" where="*your sub-query here*">
<key column="parent_id" />
<one-to-many class="YourNameSpace.Model.Child,Model"/>
</set>
При этом будут возвращаться только дочерние объекты, которые соответствуют запросу where коллекции.
Вы можете найти документацию по этому здесь . Хотя это ссылка на Hibernate, а не NHibernate, в большинстве областей она практически идентична.
Удачи!