事务中的NHibernate.NonUniqueObjectException(使用CSLA.Net)

时间:2009-09-02 21:53:39

标签: nhibernate transactions csla

我对NHibernate和CSLA.NET都很陌生,而且我遇到了一个问题,我基本上需要在同一个事务中(因此,会话)将数据库中的同一行保存两次。我已经阅读了关于SO w.r.t的其他问题。 NonUniqueObjectException,以及做了很多谷歌搜索,但我似乎无法做任何事情。

无论如何,我创建一个会话,开始一个事务,并执行myObject = myObject.Save()。根据我的理解,CSLA在保存后会创建一个新的myObject实例并将其返回,然后显然会将其分配给myObject。

稍后(在同一个事务中),我需要再次执行myObject.Save()。这是发生NonUniqueObjectException的地方。我已经尝试使用NHibernate会话锁定和合并myObject,但它似乎不起作用。

还有什么我应该尝试的吗?是否有一种简单的方法可以与NHibernate进行“嵌套”事务(虽然我不确定这会解决问题)。

我很感激任何建议。

1 个答案:

答案 0 :(得分:1)

为什么不使用saveorupdate