NHibernate多对一映射更新未更改的表

时间:2008-10-28 22:22:15

标签: nhibernate mapping

我的情况是我有两个共享主键的实体(Transaction和TransactionDetail)。我使用从Transaction到TransactionDetail和从TransactionDetail到Transaction的多对一关系映射它们。交易详细信息为每笔交易保留一条记录。

但是,当我创建一个新的事务详细信息对象并将其添加到事务中时,NHibernate尝试使用类似'update transaction set id =?的查询来更新Transaction表。其中id =?'每个参数的值相同。

由于映射位于主键列上,因此我不希望更新事务。实际上,由于主键是标识列,因此在尝试更新值时出现错误。如何在创建新的TransactionDetail记录时阻止NHibernate更新Transaction表?

1 个答案:

答案 0 :(得分:2)

您可能需要查看one-to-onejoin-table类型的映射。 many-to-one表示特定的内容,看起来您的情况可能更适合其他两种映射类型之一的配置文件。