0

我有一个对外键 (FK) 字段和日期字段具有唯一约束的数据库表,以防止给定 FK 的日期相同。我正在使用 NHibernate(如果相关,则为 1.2)在单个事务中将两条记录保存到同一个 FK 的表中。一个已经存在,日期为 NULL,并且正在更新以具有真实日期;另一个是带有 NULL 日期的插入。似乎发生的事情是 NHibernate 试图在违反约束的更新之前插入(相同的 FK 和 NULL 日期)。

在不将保存分解为多个部分的情况下,是否可以将某些内容添加到映射中以使 NHibernate 意识到在更新之前插入会违反约束?

4

1 回答 1

2

AFAIK 没有在 Flush() 上指定操作顺序的事情。但是,您可以将整个操作放入一个事务中,并session.Flush();在更改模型后调用,然后使用Save() SaveOrUpdate().

于 2012-07-31T12:13:23.397 回答