Cascata Muitos-para-um do NHibernate
Eu tenho as duas classes abaixo:
public class Project
{
public virtual int ProjectId { get; set; }
public virtual string ProjectName { get; set; }
public virtual LegalEntity LegalEntity { get; set; }
}
e
public class LegalEntity
{
public virtual int LegalEntId { get; set; }
public virtual string Name { get; set; }
}
com mapeamentos como:
<class name="Project" table="Project" dynamic-update="true">
<id name="ProjectId">
<generator class="native"/>
</id>
<property name="ProjectName" />
<many-to-one name="LegalEntity" column="LegalEntId" fetch="join" cascade="all-delete-orphan" />
</class>
e
<class name="LegalEntity" table="LegalEnt" dynamic-update="true">
<id name="LegalEntId">
<generator class="native"/>
</id>
<property name="Name" />
</class>
No banco de dados, a tabela Projeto possui uma coluna de PK para LegalEntity. Um projeto terá apenas uma entidade legal. Projetos diferentes podem ter a mesma entidade legal. Então essa é a razão pela qual eu escolhi muitos para um. Não tenho certeza se isso está correto.
Inserir e atualizar está funcionando bem. Mas se eu atualizar um ID de entidade legal em um projeto e essa entidade legal se tornar órfã, quero que ele seja excluído. Mas isso não está acontecendo. Estou errado ao entender excluir tudo órfão? Se sim, como posso conseguir esse comportamento?