0

特定のFKで同じ日付になるのを防ぐために、外部キー(FK)フィールドと日付フィールドに一意の制約があるデータベーステーブルがあります。NHibernate(該当する場合は1.2)を使用して、1回のトランザクションで同じFKのテーブルに2つのレコードを保存しています。1つはすでにNULLの日付で存在しており、実際の日付を持つように更新されています。もう1つは、日付がNULLの挿入です。何が起こっているように見えるかというと、NHibernateが更新前に挿入しようとしているため、制約に違反しています(同じFKとNULLの日付)。

保存を複数の部分に分割せずに、マッピングに追加して、更新前に挿入すると制約に違反することをNHibernateに認識させることができるものはありますか?

4

1 に答える 1

2

AFAIKには、Flush()の操作の順序を指定するようなものはありません。ただし、操作全体をトランザクションに入れてsession.Flush();、モデルの変更後に呼び出してから、を使用することができますSave() SaveOrUpdate()

于 2012-07-31T12:13:23.397 に答える