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

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

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

有帮助吗?

解决方案

您可能需要查看一对一 join-table 类型的映射。 many-to-one 意味着特定的东西,看起来你的情况可能更适合其他两种映射类型之一的配置文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top