1

我有两个实体共享一个主键(Transaction 和 TransactionDetail)。我使用从 Transaction 到 TransactionDetail 以及从 TransactionDetail 到 Transaction 的多对一关系将它们映射。交易明细为每笔交易保存一个记录。

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

由于映射位于主键列上,因此我不希望更新事务。事实上,由于主键是一个标识列,当它尝试更新值时我得到一个错误。创建新的 TransactionDetail 记录时,如何防止 NHibernate 更新 Transaction 表?

4

1 回答 1

2

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

于 2008-10-28T22:31:44.200 回答