В NHibernate HQL вы можете выбрать несколько объектов для заданного запроса, например, в этом примере.
var query = session.CreateQuery("select c,k from Cat as c join c.Kittens as k");
Очевидно, что ситуация в реальном мире имеет большую сложность, но это основа. Есть ли способ сделать это в запросе Criteria?
var catsWithKittens = session.createCriteria() .SetFetchmode( "Котята", Fetchmode.Eager) .list();
Вам нужно использовать JOIN FETCH.
HQL будет таким -
FROM Cat C JOIN FETCH C.Kittens