Nhibernate 选择n+1问题

Nhibernate 选择n+1问题,nhibernate,fluent-nhibernate,domain-driven-design,linq-to-nhibernate,select-n-plus-1,Nhibernate,Fluent Nhibernate,Domain Driven Design,Linq To Nhibernate,Select N Plus 1,富有头衔。 酒吧参考资料。 我有一个酒吧收藏。 我需要一个有Foo.Title的收藏 如果集合中有10个条,我将调用db 10次 bar.Selectx=>x.Foo.Title 目前,使用NHibernate Linq,我不想放弃它,因为它检索了Bar集合 var q = from b in Session.Linq<Bar>() where ... select b; 我读了艾恩德的话。 另一个是相关的。 一点。

富有头衔。 酒吧参考资料。 我有一个酒吧收藏。 我需要一个有Foo.Title的收藏

如果集合中有10个条,我将调用db 10次

bar.Selectx=>x.Foo.Title

目前,使用NHibernate Linq,我不想放弃它,因为它检索了Bar集合

var q = from b in Session.Linq<Bar>()
                where ...
                select b;
我读了艾恩德的话。 另一个是相关的。 一点。 还有一个相关的。 也许你能帮忙? 那么...怎么样 也许这就是我需要的/

但我仍然不能用正确的解决方案“编译”这个

如何避免选择n+1

这不起作用:

var q = from b in Session.Linq<Bar>().Expand("Foo.Title")
                where ...
                select b;
但这种方法有助于:

var q = from b in Session.Linq<Bar>().Expand("Foo")
                where ...
                select b;
…但现在要使用存储库的东西不知道它也在加载foos。 有没有办法让它更明确

一个想法是将命名改为FindBarsWithFoos

至少它起作用了