Как не беспокоиться о дочерних объектах (списках) в nhibernate - PullRequest
0 голосов
/ 22 января 2011

у меня есть родительский объект с именем Request и дочерний объект с именем RequestDate

A Запрос имеет список RequestDates

Я хочу иметь сопоставления, поэтому, когда я:

  1. Сохранить родителя, это спасет всех детей
  2. Обновить список родительского объекта (удалить некоторые элементы и добавить некоторые новые элементы) и сохранить родительский объект, который обновляет дочерние элементы
  3. Удаление родителя удалит всех детей.

возможно ли это. я попытался использовать этот синтаксис, но он не работает:

 HasMany(x => x.RequestDates)
     .AsBag()
     .Inverse()
     .Cascade.AllDeleteOrphan()
     .Fetch.Select()
     .BatchSize(80); 

проблема вокруг # 2. какой способ обновить список предметов. Я вызываю Remove (), чтобы избавиться от некоторых, а затем вызываю Add (), чтобы добавить новые

1 Ответ

4 голосов
/ 22 января 2011

Вы настроили свою коллекцию как Inverse, что означает, что "другая сторона" (то есть References в RequestDate) отвечает за управление отношениями.

Следовательно, вам нужно установить ссылку на запрос в RequestDate.

Если у вас нет такого свойства, удалите вызов Inverse(). Но NH выполнит вставку с NULL, а затем ОБНОВЛЕНИЕ, что может быть не тем, что вы хотите.

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