C# NHibernate-级联删除不起作用
我在MS SQL Server 2008 R2中使用NHibernate 3.2 我有休闲地图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> <
<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" />