Удаление элемента из ассоциации «многие ко многим» в NHibernate - PullRequest
1 голос
/ 13 сентября 2010

У меня есть однонаправленная ассоциация многих ко многим: класс ListDefinition имеет свойство Columns типа IList, в то время как столбец может быть частью нескольких ListDefinition-ов.Проблема в том, что всякий раз, когда я пытаюсь удалить столбец из одной коллекции Columns (не удаляя его или не удаляя из других ListDefinitions), я получаю эту ошибку:
удаленный объект будет повторно сохранен каскадом (удалить удаленный объект изассоциации) [Domain.Lists.Definitions.ListColumnDefinition # 2]

Мое сопоставление генерируется с помощью Fluent NH:

mapping.HasManyToMany(list => list.Columns)
.AsList(part => part.Column("`index`"))
.Cascade.AllDeleteOrphan()

Вот сгенерированный hbm:
















1 Ответ

1 голос
/ 13 сентября 2010

Вы уверены, что " all-delete-orphan " - это то, что вы хотите?

Из раздела 21.3. Каскадный жизненный цикл по вышеуказанной ссылке:

В нашем случае Ребенок не может существовать без родителя. Так что, если мы удалим Ребенка из коллекции мы хотим это будет удалено. Для этого мы должны используйте cascade = "all-delete-orphan".

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