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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta