У мене є батьківський об'єкт, який має відношення "один до багатьох" з IList дочірніх об'єктів. Який найкращий спосіб видалити дочірні об’єкти? Я не видаляю батьків. Мій батьківський об'єкт містить IL-список дочірніх об'єктів. Ось відображення взаємовідносин один до багатьох:
<bag name="Tiers" cascade="all">
<key column="mismatch_id_no" />
<one-to-many class="TGR_BL.PromoTier,TGR_BL"/>
</bag>
Якщо я намагаюся видалити всі об'єкти з колекції за допомогою clear (), то викликаю SaveOrUpdate (), я отримую такий виняток:
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column
Якщо я намагаюся видалити дочірні об'єкти окремо, а потім видалити їх з батьківського, я отримую виняток:
deleted object would be re-saved by cascade
Я вперше маю справу з видаленням дочірніх об’єктів у NHibernate. Що я роблю не так?
редагувати: Просто для уточнення - Я НЕ намагаюся видалити батьківський об’єкт, а лише дочірні об’єкти. У мене стосунки встановлені як стосунки з багатьма з батьків. Чи потрібно мені також створювати взаємозв'язок "багато-до-одного" на відображенні дочірнього об'єкта?