データベースからContact-objektを読み込みます。オブジェクトの連絡先はContactSecurityに1対多のマッピングを持っています新しいオブジェクトを参照する既存のオブジェクトをマージする
<set name="ContactSecuritys" lazy="true" inverse="true" cascade="none" >
<key>
<column name="ContactId"/>
</key>
<one-to-many class="ContactSecurity"/>
</set>
さて、私がやろう:
contact.ContactSecuritys.Add(new ContactSecurity(Guid.NewGuid()));
Session.Merge(contact);
しかし、これはTransientObjectExcpeption「オブジェクトが保存されていない一時的なインスタンスで投げている - 保存します合併前に一時的なインスタンス:Prayon.Entities.ContactSecurity」
は、私はまた、
contact.ContactSecuritys.Add(new ContactSecurity(Guid.NewGuid()) {Contact = contact});
Session.Merge(contact);
を試してみました
私は間違っていますか? - 連絡先をマージする前に、参照先の連絡先と新しいContactSecurity-Objectを別に保存する必要がありますか? - これを行う簡単な方法がありますか?
ありがとうございました。
session.Persist()を使用すると、contactSecurityにnull値のプロパティがないという問題があります。これはSave-Eventで設定されます。 – BennoDual