6

Foo 有 Title。
酒吧参考 Foo。我有一个与 Bars 的集合。
我需要一个带有 Foo.Title 的集合。

如果我收集了 10 个酒吧,我将调用 db 10 次。

bar.Select(x=>x.Foo.Title)

目前(使用 NHibernate Linq,我不想放弃它)检索 Bar 集合。

var q = from b in Session.Linq<Bar>()
                where ...
                select b;

我读了 Ayende对此的评价。
另一个相关的问题
一点文档
以及另一篇相关的博文
也许可以帮助?这个
呢? 也许MultiQuery是我需要的?:/

但我仍然无法在适当的解决方案中“编译”它。

如何避免选择n+1?

4

1 回答 1

3

这没有用:

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()。

至少它有效。

于 2009-10-05T11:40:34.013 回答