У меня есть отношения родитель / ребенок, и у ребенка есть составной идентификатор
Родитель
<id name="Id" type="Int32">
<generator class="identity" />
</id>
<set name="Children" table="CTable" cascade="all-delete-orphan" inverse="true" lazy="false" >
<key column="ParentId"/>
<one-to-many class="ChildrenClass"/>
</set>
Ребенок
<composite-id unsaved-value="none">
<key-property name="ParentId"/>
<key-property name="ChildId"/>
</composite-id>
Что я хочу: 1) Получить родитель изБД, закрыть сеанс, передать Parent из службы в клиент. 2) Когда Parent вернулся из клиента, сохранить его и всех его дочерних элементов в БД в новом сеансе
На шаге 2 я вызываю var merged= Session.Merge (product);
Я использую Merge (), потому что это кажется единственным способом заставить NHib обрабатывать добавленные / удаленные элементы в дочерней коллекции. НО nHibernate сбрасывает все идентификаторы во вновь добавленных дочерних элементах,так что у меня есть новые дети с ParentId == 0 и ChildId == 0. Поэтому вопрос - как сказать NHibernate, чтобы сохранить идентификаторы от сущности, которая передается в Merge ()? .. Пожалуйста, помогите.