Свободный NHibernate - избегайте загрузки детской коллекции - PullRequest
0 голосов
/ 13 января 2012

У меня есть 2 класса со связью HasMany, скажем, класс с именем Parent, который имеет коллекцию Children.Я хочу иметь возможность создавать запросы в NHibernate, которые бы возвращали только тех родителей, у которых есть дети.Я предполагаю, что для этого мне нужны отношения HasMany.

Что я хочу, так это следующее: когда я загружаю Parents, я не хочу, чтобы загружались его дети.Вид LazyLoading, но без загрузки Children вообще.

Есть идеи, как этого добиться?

1 Ответ

3 голосов
/ 13 января 2012

LazyLoading NHibernate - это именно то, что вы просили.Сам объект коллекции создается, но ни один из дочерних объектов не загружается.

Когда вызывается метод JSON, дочерние объекты загружаются лениво.Я хочу этого избежать.

3 Приходят на ум опции

  1. проецирование объекта Parentobject в DTO, который затем сериализуется
  2. Настройка сериализации JSON
  3. отсоединение родителя от сеанса (Evict()) и установка коллекции в null перед сериализацией

Я бы предпочел вариант 1, но вариант 2 тоже подойдет.Вариант 3 будет взломать и его следует избегать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...