NHibernate Cascada de muchos a uno
Tengo las dos clases siguientes:
public class Project
{
public virtual int ProjectId { get; set; }
public virtual string ProjectName { get; set; }
public virtual LegalEntity LegalEntity { get; set; }
}
y
public class LegalEntity
{
public virtual int LegalEntId { get; set; }
public virtual string Name { get; set; }
}
con asignaciones 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>
y
<class name="LegalEntity" table="LegalEnt" dynamic-update="true">
<id name="LegalEntId">
<generator class="native"/>
</id>
<property name="Name" />
</class>
En la base de datos, la tabla del proyecto tiene un FK a la columna PK de LegalEntity. Un proyecto tendrá una sola entidad legal. Diferentes proyectos pueden tener la misma entidad legal. Esa es la razón por la que he ido por muchos a uno. Sin embargo, no estoy seguro de si esto es correcto.
Insertar y actualizar funciona bien. Pero si actualizo una identificación de entidad jurídica en un proyecto y esa entidad jurídica queda huérfana, quiero que se elimine. Pero no está sucediendo. ¿Me equivoco al comprender delete-all-huérfano? En caso afirmativo, ¿cómo puedo lograr este comportamiento?