Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在跟踪项目上快速加载?_Entity Framework_Entity Relationship_Eager Loading_Navigation Properties - Fatal编程技术网

Entity framework 在跟踪项目上快速加载?

Entity framework 在跟踪项目上快速加载?,entity-framework,entity-relationship,eager-loading,navigation-properties,Entity Framework,Entity Relationship,Eager Loading,Navigation Properties,我有一个绑定到实体(联系人)的元素,该实体公开了一些导航属性 我希望,在某些操作(即“加载子对象”按钮)上,联系人应加载其所有子对象和孙子对象,就像我可以使用ObjectQuery所做的那样;示例(伪): 我希望不仅在查询模型本身时,还能够通过像上面的示例那样重新加载项来塑造结果 我认为这在某种程度上应该是实体框架的一部分。我不确定我是否遵循了这个问题,但让我检查一下: 您希望获取已加载的实体,然后加载导航属性,其中包含该属性的路径。这其实并不难,只要您使用与加载第一个对象相同的上下文 重要的一

我有一个绑定到实体(联系人)的元素,该实体公开了一些导航属性

我希望,在某些操作(即“加载子对象”按钮)上,联系人应加载其所有子对象和孙子对象,就像我可以使用ObjectQuery所做的那样;示例(伪):

我希望不仅在查询模型本身时,还能够通过像上面的示例那样重新加载项来塑造结果


我认为这在某种程度上应该是实体框架的一部分。

我不确定我是否遵循了这个问题,但让我检查一下:

您希望获取已加载的实体,然后加载导航属性,其中包含该属性的路径。这其实并不难,只要您使用与加载第一个对象相同的上下文

重要的一点是,无论何时执行返回实体的查询,实体框架都会自动将其与您已有的任何相关对象链接起来。因此,您真正想要的是生成一个新的查询,该查询返回额外的数据,其中包含一些include

实体框架中的每个引用都有一个名为的方法。它返回一个对象查询,因此您可以使用它来执行此操作(对不起,C#):

ToList调用执行查询,Entity Framework将获取所有结果并自动将它们添加到SubContacts EntityCollection中

DirectCast(element.DataContext, Contact).SubContacts. _
   Include("Address.State"). _
   Load()
AlreadyLoadedContact.SubContacts.CreateSourceQuery().Include("Address.State").ToList();