nHibernate更新留下孤立的行

时间:2010-06-16 10:02:59

标签: .net nhibernate

在我的数据库上使用Fluent nHibernate。

我很困惑为什么我的.Update语句之一似乎创建新数据并将表中的旧数据保留为没有键的孤立行。以此为例:有问题的对象是一个“MetaData”对象,它与“Page”对象具有多对一关系(一个Page可以包含许多MetaData对象)。

因此,如果我有第1页的MetaData元素

Id    Page_Id    name    content
1     1          test1   test1

然后我有一些功能允许用户向页面元数据添加更多名称/内容对。这似乎工作正常:在过程结束时单步执行代码,Page对象具有预期值的预期数量的MetaData对象。因此,假设用户再添加一行值test2,test2。在使用该Page对象调用session.Update之后,我的表看起来像这样:

Id    Page_Id    name    content
1     null       test1   test1
2     1          test1   test1
3     1          test2   test2

换句话说,nHibernate已经保存了新数据,但它保留了表中的旧值,其中包含null page_Id。如果表中有多个旧行,则会发生这种情况 - 它们都以这种方式重复和孤立。

我已经检查过Page对象在更新时是否符合预期,并且我确保我的更新方法没有被调用两次。有人能指出我这里可能出现的问题吗?

干杯, 马特

0 个答案:

没有答案