2010-07-11 34 views
5

下面是我试图用急切加载的集合返回的实体示例。NHibernate Eager加载收藏+分页

混音 - >曲目(集合) - >标签(集合)

我需要返回混合料的分页清单,渴望装载轨道&标签,无分页,它是利用未来< relativly简单>()函数为track +标签运行多个查询。

因为这些数据需要分页......我怎样才能获取所有数据,以便NHibernate在显示数据时不会遇到N + 1问题。

保罗

回答

5
  1. 获取你想要的混音页,没有任何曲目或标签。
  2. 抓取所有的曲目(左连接标签)对应于所有的混音您获取上面步骤(即,如果你使用HQL,使用SetParameterList通过所有混音标识)

总:2个查询。

+0

当你说对应的混音,你的意思是从我的混音的ID做一个IN()子句? – 2010-07-11 01:50:18

+0

@Paul Hinett:确切地说。 – 2010-07-11 01:50:40

+0

谢谢你......有道理! – 2010-07-11 01:53:33