Составные ключи имеют неприятный побочный эффект: с каждым уровнем иерархии таблиц (A-> B-> C) количество столбцов растет.

я есть родительский объект, который имеет отношение один ко многим сISet дочерних объектов. Дочерние объекты имеют уникальное ограничение (PageNum а такжеContentID - внешний ключ к родителю).

<set name="Pages" inverse="true" cascade="all-delete-orphan" access="field.camelcase-underscore">
    <key column="ContentId" />
    <one-to-many class="DeveloperFusion.Domain.Entities.ContentPage, DeveloperFusion.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</set>

Проблема, с которой я столкнулся, заключается в том,ContentPage элемент из родительской коллекции, а затем добавить новый с тем же уникальным ключом в той же транзакции ... Вы получаете уникальное нарушение ограничения, потому чтоNHibernate пытается выполнить вставкудо удаление.

Есть ли способ заставить NHibernate сначала выполнить удаление?

Ответы на вопрос(3)

Ваш ответ на вопрос