2

我对 NHibernate 和 CSLA.NET 都很陌生,我遇到了一个问题,我基本上需要在同一个事务(因此,会话)中将同一行保存在数据库中两次。我已经阅读了关于 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 回答