使用Nhibernate从父级获取多个子集合

时间:2014-08-04 08:15:29

标签: .net nhibernate fluent-nhibernate

我目前正在编写一个搜索后端,以获取每个人都有一组需要加载的子集合的人员子集。

如何才能让nhibernate急切地加载这些多个子集合? 目前,我遍历person集合逐个获取子集合。

我的班级看起来像这样(实际上我有5个IList但是2个足以显示问题):

public class Person
{
    public virtual IList<Group> Groups { get; set; }
    public virtual IList<Profile> Profiles { get; set; }
}

我的搜索查询如下:

var persons = Session.QueryOver<Person>()
                    .Where(person => ...)
                    .List();

foreach (var person in persons)
{
     //Do something with groups
     var groups = person.Groups;

     //Do something with profiles
     var groups = person.Profiles;
}

当我运行此操作时,我会执行类似2n + 1查询的操作 我已经看过Future,Fetch和其他选项,但似乎没什么好看的。

有没有办法在3-4次查询中执行此操作?

0 个答案:

没有答案