linq - EF1.0 中的预加载

标签 linq entity-framework

我有一个多对多关系:

应用-> 应用程序_服务器 -> 服务器

这是在我的实体数据模型中设置的,一切都很好。我的问题是我想立即加载应用程序的整个图表,以便我有一个 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_ServersServer 实体。

关于linq - EF1.0 中的预加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2836584/

相关文章:

c# - 为什么我不能在 select linq 语句中使用多个级别?

c# - 直接反/序列化到/从 XML Linq

silverlight - Silverlight 4 中对 EF 实体的输入验证

c# - LINQ 中的 ISNULL 等价物

c# - 是否可以在 Visual Studio Express 版本中将 Entity Framework 与 MySQL 一起使用?

c# - 序列包含多个元素?

c# - 使用 LINQ select 过滤 Dictionary<string, string>

c# - 使用 EntityFramework 获取有序范围的最有效方法是什么?

c# - IQueryable GroupBy Lambda 表达式对于具有对象键的原始类型失败

c# - 本地主机连接(ASP.NET MVC)