Arn*_*psa 6 nhibernate domain-driven-design fluent-nhibernate linq-to-nhibernate select-n-plus-1
Foo有头衔.
酒吧参考Foo.我有一个酒吧收藏.
我需要一个Foo.Title的集合.
如果我收集10个酒吧,我会称db 10次.
bars.Select(X => x.Foo.Title)
目前这个(使用NHibernate Linq并且我不想丢弃它)检索Bar集合.
var q = from b in Session.Linq<Bar>()
where ...
select b;
Run Code Online (Sandbox Code Playgroud)
我读了艾恩德对此的看法.
另一个相关问题.
一些文档.
和另一篇相关的博文.
也许这有用吗?
什么这个?
也许MultiQuery是我需要的?:/
但我仍然无法在适当的解决方案中"编译"这个.
如何避免选择n + 1?
这不起作用:
var q = from b in Session.Linq<Bar>().Expand("Foo.Title")
where ...
select b;
Run Code Online (Sandbox Code Playgroud)
但这有帮助:
var q = from b in Session.Linq<Bar>().Expand("Foo")
where ...
select b;
Run Code Online (Sandbox Code Playgroud)
..但是现在要使用存储库的东西不知道它也在加载 foos 。
有什么想法如何使其更明确吗?
一种想法是将命名更改为 FindBarsWithFoos()。
至少它有效。
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |