NHibernate Eager Загрузка Коллекций + Пейджинг - PullRequest
5 голосов
/ 11 июля 2010

Вот пример моих сущностей, которые я пытаюсь вернуть с загруженными коллекциями.

Миксы -> Треки (коллекция) -> Теги (коллекция)

Мне нужно вернутьПостраничный список миксов с загруженными треками и тегами, без разбивки на страницы это сравнительно просто с помощью функции Future <> () для выполнения нескольких запросов для треков + тегов.

Поскольку эти данные должны быть разбиты на страницы... как я могу получить все свои данные обратно, чтобы NHibernate не получал проблему N + 1 при отображении моих данных.

Пол

1 Ответ

5 голосов
/ 11 июля 2010
  1. Получите нужную вам страницу миксов, без любых треков или тегов.
  2. Получите все дорожки (оставленные теги соединения), которые соответствуют всем микшерам, которые вы выбрали в предыдущем шаге (т. Е. Если вы используете HQL, используйте SetParameterList для передачи всех идентификаторов миксов)

Всего: 2 запроса.

...