【发布时间】:2018-10-11 19:27:46
【问题描述】:
这很好用,我假设它会加载所有带有 Foo 和 Bar 子级的实体,然后根据 Foo 的值过滤结果:
var baz = "sillystring";
context.Entities
.Include(e => e.Foo)
.Include(e => e.Bar)
.Where(e.Foo == baz)
.Select(e.Bar)
.ToList();
如果是这样的话,这是一个有用的优化吗?先进行过滤,然后只为一部分实体包含 Bar 子级?
var baz = "sillystring";
context.Entities
.Include(e => e.Foo)
.Where(e.Foo == baz)
.Include(e => e.Bar) // moved to after the filter
.Select(e.Bar)
.ToList();
...另外,EF 是否足够聪明,知道当我使用.Select(e.Bar) 时必须包含Bar?
【问题讨论】:
标签: linq-to-sql entity-framework-6