Каскадные элементы в коллекции компонента - PullRequest
0 голосов
/ 19 мая 2010

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

Мое отображение:

m => m.Component(x => x.Configuration, c =>
{
  c.HasMany(x => x.ObjectiveTitleTemplates)
    .Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore)
    .AsSet()
    //.Inverse()
    .KeyColumns.Add("ObjectiveProcessInstanceId")
    .Cascade.AllDeleteOrphan();                                                               
});

Есть ли способ заставить его работать, помечая коллекцию как инверсную и, следовательно, избегая дополнительной вставки?

Спасибо!

1 Ответ

0 голосов
/ 19 мая 2010

Отображение коллекции как обратной недостаточно. Вы должны:

  • Создать ссылку со стороны "Многие"
  • Обновлять при добавлении элементов в коллекцию

Когда вы используете Inverse, NHibernate не сохраняет отношения с этой стороны.

...