У меня есть стандартное отношение родитель - ребенок (1: многие), настроенное с помощью Fluent NHibernate:
На родительской стороне:
HasMany(x => x.Items).Inverse().Cascade.All();
и на дочерней стороне:
Map(x => x.ItemCategory).Nullable().Index("idx_item_category").Not.LazyLoad()
(Изменить в ответ на комментарий Эпитки:)
Запись удаляется путем вызова
session.Delete(item_category)
Это единственная операция, выполненная втранзакция.
(конец редактирования)
В настоящее время, когда я удаляю запись ItemCategory, она каскадно удаляет все элементы, что, как представляется, работает в соответствии с ожиданиями в соответствии сдокументация.
Я хочу, чтобы Item.ItemCategory был установлен в null автоматически при удалении записи ItemCategory.
Я могу только отключитьполностью каскад, который приводит к поврежденной базе данных (элемент ссылается на отсутствующую категорию).Итак, в настоящее время я должен сделать это вручную, что немного более подвержено ошибкам, чем хотелось бы.
Возможно ли настроить это поведение?
session.Delete (item_category)