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

NHibernate多对一映射更新未更改的表,nhibernate,mapping,Nhibernate,Mapping,我有两个共享主键的实体(Transaction和TransactionDetail)。我使用多对一关系将它们从事务映射到事务细节,从事务细节映射到事务。事务详细信息为每个事务保存一条记录 但是,当我创建一个新的transaction detail对象并将其添加到事务中时,NHibernate会尝试使用类似“update transaction set id=”的查询来更新事务表?其中id=?,每个参数的值相同 因为映射在主键列上,所以我不希望更新事务。事实上,由于主键是一个标识列,因此当它尝试更

我有两个共享主键的实体(Transaction和TransactionDetail)。我使用多对一关系将它们从事务映射到事务细节,从事务细节映射到事务。事务详细信息为每个事务保存一条记录

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


因为映射在主键列上,所以我不希望更新事务。事实上,由于主键是一个标识列,因此当它尝试更新该值时,会出现一个错误。在创建新的TransactionDetail记录时,如何防止NHibernate更新事务表?

您可能需要查看映射的
一对一
联接表
类型
Multi-to-one
表示特定的内容,看起来您的案例可能更适合其他两种类型映射中的一种。

感谢正义,我尝试了一对一映射,但这对我不起作用,但联接表映射看起来可能只是一张罚单。