我有一个父对象,它与子对象的IList具有一对多的关系。删除子对象的最佳方法是什么?我没有删除父母。我的父对象包含子对象的IList。这是一对多关系的映射:
<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中删除子对象。我究竟做错了什么?
编辑:只是为了澄清-我不是要删除父对象,只是子对象。我与父母建立了一对多的关系。我还需要在子对象映射上创建多对一关系吗?