C# EDM查询关联

C# EDM查询关联,c#,database,entity-framework,C#,Database,Entity Framework,实体框架的好处在于它隐藏了 完整的n..m关联问题 现在我有了一些非常简单的数据库,其中包含 Person (Id, Name) Profession (Id, Designation) 这两者之间存在着n..m的联系,这意味着每个人都可以 有许多职业,每个职业都可以由许多人执行。 此关联基于每个实体中的Id构建 现在我想要的正是这些联系,但似乎没有办法 去拿那些 如果我问一个人 using (PersonDataModelContainer dmc = new PersonDataModel

实体框架的好处在于它隐藏了 完整的n..m关联问题

现在我有了一些非常简单的数据库,其中包含

Person (Id, Name)
Profession (Id, Designation)
这两者之间存在着n..m的联系,这意味着每个人都可以 有许多职业,每个职业都可以由许多人执行。 此关联基于每个实体中的Id构建

现在我想要的正是这些联系,但似乎没有办法 去拿那些

如果我问一个人

using (PersonDataModelContainer dmc = new PersonDataModelContainer())
{
    var persons = (from p in dmc.Persons
                   where p.Id == personId
                   select p).ToList();
}
有一个成员“职业”,但它是空的。 在Associationstable中有对应的条目 给这个人

我看到在单个对象下面的某个地方,这个查询返回 非公职人员中存在关系

我怎么能读这些?我相信这不难,但我可以
没有通过谷歌找到它。

@TomasVoracek什么?如果我有一个具有250个导航属性的实体怎么办?EF会把它们都装进去吗?!这毫无意义。无论是延迟加载还是不加载,您都可以指定(通过
Include
显式地或通过在代码中加入导航属性隐式地)您需要加载的内容这对我来说非常有效。非常感谢你!p、 在美国,是否有任何教程或网站可以让我在EF问题上找到更好的起点?@TomasVoracek我知道延迟加载是什么,但你关于“EF4应该自动加载关联”的说法相当错误,应该是4.1,对此不太确定
using (PersonDataModelContainer dmc = new PersonDataModelContainer())
{
    var persons =  dmc.Persons
                   .Include("Profession")
                   .Where(p.Id == personId)
                   .ToList();
}