C# QueryObject包含实体框架

C# QueryObject包含实体框架,c#,entity-framework,include,objectquery,C#,Entity Framework,Include,Objectquery,我有三个表:场景、组件和块。块具有ComponentId的外键,组件具有场景的外键 块还有一个外键TreeStructureId指向另一个表TreeStructures 现在,为什么这会起作用: ObjectQuery<Blocks> blocks = edumatic3Entities.Blocks.Include("TreeStructures").Include("Components.Scenarios"); 它加载树结构、组件和场景 但是,这不起作用: ObjectQue

我有三个表:场景、组件和块。块具有ComponentId的外键,组件具有场景的外键

块还有一个外键TreeStructureId指向另一个表TreeStructures

现在,为什么这会起作用:

ObjectQuery<Blocks> blocks = edumatic3Entities.Blocks.Include("TreeStructures").Include("Components.Scenarios");
它加载树结构、组件和场景

但是,这不起作用:

ObjectQuery<Blocks> blocks = edumatic3Entities.Blocks.Include("Components.Scenarios").Include("TreeStructures");
这会加载组件和场景,但不会加载树状结构

我觉得很奇怪。。。为什么会这样


thx,Lieven Cardoen

您是否正确设置了逻辑模型中实体之间的关系?它的设置是否允许从场景导航到树状结构?拥有外键是不够的。

您是否正确设置了逻辑模型中实体之间的关系?它的设置是否允许从场景导航到树状结构?有外键是不够的。

是的,它已经设置好了,否则我猜第一个代码示例也不会工作。这是你看到的奇怪的事情。这就像包含事项的顺序……是的,它已经设置好了,否则我猜第一个代码示例也不会工作。这是你看到的奇怪的事情。这就像包含问题的顺序……您是否尝试通过加载一个干净的edmx和northwind db来重现问题?似乎我修复了问题,但不知道为什么。可能做了些蠢事。thx。你是否试图通过加载一个干净的edmx和一个northwind db来重现这个问题?似乎我不知道为什么解决了这个问题。可能做了些蠢事。谢谢。