我有一个多对多关系:
应用-> 应用程序_服务器 -> 服务器
这是在我的实体数据模型中设置的,一切都很好。我的问题是我想立即加载应用程序的整个图表,以便我有一个 IEnumerable<Applications>
,每个应用程序成员都填充 Servers
通过多对多关系关联的集合。
通常这不会成为问题,但根据我的研究,应用程序和服务器之间必须有一个导航属性。对我来说情况并非如此,因为我的 Applications_Servers
连接表中包含的不仅仅是两个键。因此,应用程序和服务器之间没有直接的导航属性,这不起作用:
var apps = (from a in context.Application.Include("Server")
select a).ToList();
我收到一条错误消息,说应用程序上没有名为“服务器”的导航属性,这是正确的,没有。
在这种情况下,如何编写查询来立即加载我的应用程序及其服务器?
最佳答案
只需使用现有的导航属性。
context
.Application
.Include("Applications_Servers")
.Include("Applications_Servers.Server")
这应该立即加载所有关联的 Applications_Servers
和 Server
实体。
关于linq - EF1.0 中的预加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2836584/