NHibernate多对一多次获取同一项

NHibernate多对一多次获取同一项,nhibernate,orm,nhibernate-mapping,Nhibernate,Orm,Nhibernate Mapping,在我的模型中,我有游戏。每个游戏都有一个与之关联的事件,该事件被映射为多对一关联 当我查询游戏时,在给定EventId不同于其DB PrimaryKey id的事件中,NHibernate为每个游戏发出以下查询: NHibernate: SELECT event0_.Id as Id8_0_, event0_.EventId as EventId8_0_ FROM Events event0_ WHERE event0_.EventId=@p0; @p0 = '4' 在我的映射和从映射生成的数

在我的模型中,我有游戏。每个游戏都有一个与之关联的事件,该事件被映射为多对一关联

当我查询游戏时,在给定EventId不同于其DB PrimaryKey id的事件中,NHibernate为每个游戏发出以下查询:

NHibernate: SELECT event0_.Id as Id8_0_, event0_.EventId as EventId8_0_ FROM Events event0_ WHERE event0_.EventId=@p0; @p0 = '4'

在我的映射和从映射生成的数据库中,EventId具有唯一的约束。我如何告诉NHibernate它应该只为给定的EventId获取一次事件,而不是为N个游戏发出N次相同的精确查询?

已修复。问题是外键设置在“一”表的非主键上。改变这一点解决了问题