2010-05-17 108 views
0

喜有2個任務和missiondays有關係1..1選擇寬度實體框架和LINQ

我要選擇具有所有missiondays與所謂的「可見」 =真

我的屬性的所有任務已經嘗試過:

db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.visible == true) 

但是有一個錯誤。事實上,從p.TDP_MissioniDestinazioni我沒有看到表的屬性。我認爲這是因爲這種關係是1..n。

我該怎麼做?

感謝

回答

0

由於關係是1:N,所述TDP_MissionDestinazioni應missiondays的集合。試試這個:db.TDP_Missioni.Include("TDP_MissioniDestinazioni").where(p => p.TDP_MissioniDestinazioni.All(d => d.visible))

0

以上是使用Lambda表達式而不是LINQ。嘗試:

var query = from m in db.TDP_Missioni 
      where m.TDP_MissioniDestinazioni.Any(md => md.Visible) 
      select m; 

還是要解決上述所有你需要做的拉姆達查詢是使用類似:

db.TDP_Missioni.Include("TDP_MissioniDestinazioni"). 
    Where(p => p.TDP_MissioniDestinazioni.Any(d => d.Visible)); 

TDP_MissioniDestinazioni相對於TDP_Missioni表的集合(基於關係),因此您需要遍歷每個記錄,以便能夠訪問每個MissionDay的visible屬性。