我有一个单向的多对多关联: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