親子関係があり、子は複合IDを持っています
親
<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)DBから親を取得し、セッションを閉じ、サービスからクライアントに親を渡します2)親がクライアントから戻ったら、新しいセッションで親とそのすべての子をDBに保存します
ステップ2では、var merged = Session.Merge(product);を呼び出します。
NHibに子コレクションの追加/削除された要素を処理させる唯一の方法のように見えるのでMerge()を使用します。しかし、nHibernateは新しく追加された子のすべてのIDをリセットするため、ParentId==0およびChildId==の新しい子があります。 0.問題は、Merge()で渡されるエンティティからIDを保持するようにNHibernateに指示する方法です。..助けてください。