NHibernate 多对一多次获取相同的项目
Posted
技术标签:
【中文标题】NHibernate 多对一多次获取相同的项目【英文标题】:NHibernate many-to-one fetching same item many times 【发布时间】:2009-03-20 09:11:32 【问题描述】:在我的模型中,我有游戏。每个游戏都有一个与之关联的事件,该事件被映射为多对一的关联。
当我查询游戏时,在具有给定 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 次相同的确切查询?
【问题讨论】:
【参考方案1】:已修复。问题是外键设置在“一个”表的非主键上。改变它解决了这个问题。
【讨论】:
以上是关于NHibernate 多对一多次获取相同的项目的主要内容,如果未能解决你的问题,请参考以下文章
NHibernate + Fluent NHibernate 异常