如何在Hql中获取数据,以及如何在nhibernate linq中分解许多连接?

如何在Hql中获取数据,以及如何在nhibernate linq中分解许多连接?,nhibernate,Nhibernate,我有两个问题 那么如何在hql中进行一次检索呢 就像在林克一样 var allRecords = session.Query<Table1P>().FetchMany(x => x.Table2).ThenFetchMany(x => x.Table5s); var allRecords=session.Query().FetchMany(x=>x.Table2)。然后FetchMany(x=>x.Table5s); 如何在联接过多时分解查询 var allRecor

我有两个问题

  • 那么如何在hql中进行一次检索呢
  • 就像在林克一样

    var allRecords = session.Query<Table1P>().FetchMany(x => x.Table2).ThenFetchMany(x => x.Table5s);
    
    var allRecords=session.Query().FetchMany(x=>x.Table2)。然后FetchMany(x=>x.Table5s);
    
  • 如何在联接过多时分解查询

    var allRecords=session.Query().FetchMany(x=>x.Table2).FetchMany(x=>x.Table3.FetchMany(x=>x.Table4.FetchMany)(x=>x.Table6.ToList()

  • 我怎么能把它拆开,使它不会一次全部完成?我想快速加载,但不想一次加载全部内容。我宁愿尝试打破它

    相反,执行几个单独的查询通常更有效 包含多个联接的单个查询的


    你可以使用期货。这里有一个例子:

    第2点-是的,Ayende是对的。在我看来,这似乎是鸡蛋和鸡的问题:你不能两者兼得!代理和延迟加载是一种可行的方法吗?