我有一個單向的多對多關聯:ListDefinition類具有IList類型的Columns屬性,而列可以是多個ListDefinition-秒。問題是,每當我嘗試從一個Columns集合中刪除一列(不刪除它或從其他ListDefinitions刪除),我得到這個錯誤:
刪除的對象將被級聯重新保存(從關聯中刪除刪除的對象)[Domain.Lists.Definitions.ListColumnDefinition#2]從NHibernate中的多對多關聯中移除一個項目
經由流利NH生成我的映射:
這裏的所生成的HBM:
<休眠映射的xmlns =「甕:NHibernate的-mapping-2.2「default-access =」property「auto-impo rt =「true」default-cascade =「all」default-lazy =「false」>
< class xmlns =「urn:nhibernate-mapping-2.2」mutable =「true」name =「Domain.Lists.Definitions.ListDefinition ,域,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null「
< id =」System.Int32,mscorlib,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089 「>
<列名=」 ID」 />
<發生器類= 「身份」/>
</ID>
<列表級聯= 「全刪除-孤兒」 名稱= 「列」 表= 「ListColumnDefinitionToListDefinition」 可變= 「真」>
<鍵>
<列名= 「ListDefinition_id」/> < /鍵>
<指數>
<列名=」 index
「/>
< /指數>
<多對許多類=」 Domain.Lists.Definitions.ListColumnDefinition,域版本= 1.0.0.0,文化=中性公鑰= null「>
<列名= 「ListColumnDefinition_id」/>
< /許多一對多>
< /列表>
< /類> < /休眠映射>
不知道如果我明白你在做什麼,你可以粘貼相關代碼嗎? (如何刪除拋出此錯誤的實體) – 2010-09-13 19:20:00
我*不*刪除實體。我只是這樣做: listDefinition.Columns.Remove(column); – ulu 2010-09-14 07:50:06