NHibernate多对一地多次获取相同的项目

时间:2009-03-20 09:11:32

标签: 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'

在我的映射中(以及从映射生成的DB中),EventId具有唯一约束。我如何告诉NHibernate它应该只为给定的EventId获取一次事件,而不是为N Games发出相同的确切查询N次?

1 个答案:

答案 0 :(得分:0)

固定。问题是外键是在'one'表的非主键上设置的。改变这一点解决了问题。