Entity framework 重新填充实体框架导航属性

Entity framework 重新填充实体框架导航属性,entity-framework,entity-framework-4,entity-framework-4.1,Entity Framework,Entity Framework 4,Entity Framework 4.1,嗨,我有一个MVC应用程序,我正在从中调用一个存储过程。我之所以使用存储过程,是因为查询非常复杂,而且它已经存在,所以我也可以使用它 它基本上给了我一个答案: IEnumerable<Activity> 在这个被填充的地方 但是,在我的模型中,我有导航属性: // Navigation properties public virtual Area Area { get; set; } 这当然不是通过存储过程获取的 我想知道是否有一种简单的方法来填充这些导航属性 我

嗨,我有一个MVC应用程序,我正在从中调用一个存储过程。我之所以使用存储过程,是因为查询非常复杂,而且它已经存在,所以我也可以使用它

它基本上给了我一个答案:

IEnumerable<Activity>
在这个被填充的地方

但是,在我的模型中,我有导航属性:

// Navigation properties
        public virtual Area Area { get; set; }
这当然不是通过存储过程获取的

我想知道是否有一种简单的方法来填充这些导航属性

我相信我听说过一些命令,您可以调用实体来刷新导航属性。

您可以使用以下命令:

context.Entry(loadedEntity).Reference(l => l.Area).Load();
但是,如果您为枚举中的每个实体调用它,它将不会有很好的性能,因为它将为您要加载的每个
区域执行单独的查询和数据库往返。这就是使用存储过程的缺点——一旦这样做,您应该有另一个存储过程来加载所有需要的区域

context.Entry(loadedEntity).Reference(l => l.Area).Load();