C# NHibernate-级联删除不起作用

C# NHibernate-级联删除不起作用,c#,sql-server-2008,nhibernate,nhibernate-3,C#,Sql Server 2008,Nhibernate,Nhibernate 3,我在MS SQL Server 2008 R2中使用NHibernate 3.2 我有休闲地图 <class name="LocalizedProperty" table="LocalizedProperty"> <cache usage="read-write"/> <id name="Id" column="Id"> <generator class="guid.comb"/> </id> <

我在MS SQL Server 2008 R2中使用NHibernate 3.2

我有休闲地图

<class name="LocalizedProperty" table="LocalizedProperty">
   <cache usage="read-write"/>
   <id name="Id" column="Id">
      <generator class="guid.comb"/>
   </id>
   <property name="CultureName"  not-null="true"/>
   <property name="PropertyName"  not-null="true"/>
   <property name="PropertyValue"  not-null="true"/>

   <any id-type="Guid" name="Entity">
      <column name="LocalizedEntityClass"  not-null="true"/>
      <column name="EntityId"  not-null="true"/>
   </any>
</class>
而不是Delete语句


是否有人看到了问题所在?

要删除表的子元素,需要指定cascade=“all delete orphan”

<bag name="TableClassName" table="TableClassName" cascade="all-delete-orphan" >
    <key column="PrimaryKey"/>
    <one-to-many class="NameSpace.TableClassName" />


如果将“全部删除”设置为孤立项,则问题在于“全部”部分。它将级联所有操作,而不仅仅是删除

UPDATE LocalizedProperty SET EntityId = null WHERE EntityId = @p0 AND (LocalizedEntityClass = 'Prayon.Entities.CommunicationType')
<bag name="TableClassName" table="TableClassName" cascade="all-delete-orphan" >
    <key column="PrimaryKey"/>
    <one-to-many class="NameSpace.TableClassName" />