Я не уверен, что правильно понял ваш вопрос, но если вы хотите сделать выбор в списке объектов, вы можете использовать подзапросы с DetachedCriteria . Я использую его все время, особенно для подкачки объектов при создании левого внешнего соединения, что может привести к неправильному количеству объектов.
Представьте, что у вас есть пользователи, которые покупают продукты, и многие-многие из них имеют отношение:
Dim dc As DetachedCriteria = DetachedCriteria.For (GetType (User)). SetFirstResult (pageNumber * itemsPerPage) .SetMaxResults (itemsPerPage)
Session.CreateCriteria (GetType (user)). Add ( Subqueries.PropertyIn ("Id", dc) ). CreateAlias ("ProductsBought", "pb", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
Том прав, возможно, вы должны быть более точным ...