2

私はNHibernateとCSLA.NETの両方にかなり慣れていないので、同じトランザクション(したがってセッション)内でデータベースに同じ行を2回保存する必要があるという問題に直面しています。SO wrt NonUniqueObjectException に関する他の質問を読んだり、多くのグーグルを行ったりしましたが、何もうまくいかないようです。

とにかく、私はセッションを作成し、トランザクションを開始し、myObject = myObject.Save() を実行します。私の理解では、CSLA は保存後に myObject の新しいインスタンスを作成して返します。これは明らかに myObject に割り当てられます。

後で (同じトランザクション内で)、 myObject.Save() を再度実行する必要があります。ここで NonUniqueObjectException が発生しています。myObject をロックして NHibernate セッションとマージしようとしましたが、うまくいかないようです。

他に試すべきことはありますか?NHibernate を使用して「ネストされた」トランザクションを実行する簡単な方法はありますか (ただし、それで問題が解決するかどうかはわかりません)。

提案をいただければ幸いです。

4

1 に答える 1

1

saveorupdate を使用しない理由

于 2009-09-02T21:58:24.490 に答える