Некоторая проблема с nhibernate:
У меня есть таблицы sql:
Item { Id, Name }
ItemRange { Id, Name }
ItemHasItemRange { Id, ItemId, ItemRangeId }
Сопоставления просты, поэтому я не буду их вставлять, ItemId и ItemRangeId являются внешними ключами, класс Item имеет коллекцию ItemHasItemRanges, отображаемую как ленивый пакет.
Мне нужны все элементы, в частности ItemRange, но я не хочу получать связанные ItemRangeObjects, я просто хочу выполнить внутреннее объединение для получения узких результатов.
Когда я делаю это так:
c.CreateCriteria("Item", "i")
.CreateAlias("ItemHasItemRanges", "ihpr", JoinType.InnerJoin)
.Add(Restrictions.Eq("ihpr.ItemRange.Id", I18nHelper.CurrentItemRange.Id));
Работает нормально, но все ItemHasItemRange объекты также извлекаются в коллекции Item.ItemHasItemRanges (которые отображаются как ленивые)
Я не хочу получать Item.ItemHasItemRanges, потому что это занимает время. Я просто хочу сделать внутреннее объединение, чтобы ограничить набор результатов. Это возможно в NHibernate?