0

我创建了一个存储过程来管理我的应用程序上的搜索。存储过程返回“案例”的集合。

在显示我的搜索结果时,我引用了每个“案例”的属性,它是数据库中的一个链接表。目前延迟加载使 EF 框架为每个“案例”加载链接属性。

迷你分析器将此显示为每个返回的对象(可能是 200 个对象)对数据库的重复行程有没有办法说一次性加载所有链接的属性而不是让延迟加载来做呢?

4

1 回答 1

0

我不认为你可以直接使用 .Include() 但是一旦你从存储的过程中得到结果,你就可以运行一个 Linq 查询来获得所有相关的结果——比如:

var relatedReults = ctx.RelatedResults.Where(r => ids.Contains(r.Id)).ToArray(); 

其中 ids 是您根据存储过程返回的结果构建的 id 数组。EF 应该能够修复关系,因此在运行查询后,您应该能够访问相关实体而无需发送额外的查询。

于 2013-11-06T22:36:07.593 回答