2014-04-07 96 views
0

在實體框架中,我有兩個表(兩個實體):人與角色與一對多關係。在人們的表我有一個導航屬性到角色:Linq從導航屬性查詢

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

我能檢索已作爲「酒保」的角色所有的人:

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

我怎樣才能檢索到所有的人用相關的角色?我想這個人姓名和角色名稱(即在角色表)

感謝

回答

2

這?

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

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

您可以從多個實體的選擇:

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