奇怪的实体框架.Include()行为

时间:2016-10-14 11:35:36

标签: c# .net entity-framework orm entity-framework-6

我很惊讶地看到以下代码并未真正包含TheLinkedThing

await db.Set<TheThing>()
                    .Include(e => e.TheLinkedThing)
                    .SingleOrDefaultAsync(e => e.Id == someId);

我可以看到在SQL事件探查器中,没有生成join运算符。但是,以下查询按预期工作:

await db.Set<TheThing>()
                    .Where(e => e.Id == someId)
                    .Include(e => e.TheLinkedThing)
                    .SingleOrDefaultAsync();

为什么会这样?我在文档中找不到任何可以解释为预期行为的内容。我使用最新的6.1.3版本,延迟加载被禁用。

0 个答案:

没有答案