Linq查询来自导航属性

时间:2014-04-07 20:12:00

标签: c# visual-studio-2010 linq entity-framework

在实体框架中,我有两个表(两个实体):具有一对多关系的人员和角色。在People表中,我有一个到Role的导航属性:

public virtual ICollection<Role> Roles { get; set; }

我能够检索所有有角色的人员#bar;&#39;:

var listPeople = (from p in SiContext.People
                  where p.Roles.Any(x => x.Name == "barman")
                  select p).ToList();

如何检索具有相关角色的所有人?我想要人名和姓氏以及角色名称(在角色表中)

由于

2 个答案:

答案 0 :(得分:2)

此?

var peoples = SiContext.People.Include("Roles");

var peoples = SiContext.People.Include(p => p.Roles);

答案 1 :(得分:0)

您可以从多个实体中进行选择:

from p in SiContext.People
from r in p.Roles
select new { Name = p.Name, ..., Role = r.Name }