NHibernate каскад "многие к одному"
У меня есть следующие два класса:
public class Project
{
public virtual int ProjectId { get; set; }
public virtual string ProjectName { get; set; }
public virtual LegalEntity LegalEntity { get; set; }
}
а также
public class LegalEntity
{
public virtual int LegalEntId { get; set; }
public virtual string Name { get; set; }
}
с отображениями как:
<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>
а также
<class name="LegalEntity" table="LegalEnt" dynamic-update="true">
<id name="LegalEntId">
<generator class="native"/>
</id>
<property name="Name" />
</class>
В базе данных таблица Project содержит столбец PK FK-LegalEntity. Один проект будет иметь только одно юридическое лицо. Разные проекты могут иметь одно и то же юридическое лицо. Так вот почему я пошел на многих к одному. Не уверен, что это правильно, хотя.
Вставка и обновление работает нормально. Но если я обновлю идентификатор юридического лица в проекте, и это юридическое лицо станет сиротой, я хочу, чтобы он был удален. Но этого не происходит. Я ошибаюсь в понимании удаления всех сирот? Если да, как я могу добиться этого поведения?