2010-09-22 59 views
1

我在實體框架(EF)中設置了一個模型,其中有兩個表,父和子,在一對多關係中。我有麻煩的地方是用linq寫一個查詢,我試圖檢索父級的單個實例,同時過濾父級中的字段和子級中的另一個字段。它看起來像什麼如下:根據子值篩選實體框架中的查詢

var query = from c in context.ParentTable 
      where c.IsActive == true && c.ChildTable.Name = "abc" 
      select c; 

不幸的是,當我嘗試這一點,因爲通過智能感知,當我鍵入c.ChildTable出現沒有可用的名爲「名稱」字段中失敗。

任何指導,將不勝感激。

回答

3

這是正確的,因爲c.ChildTable是你兒童類型不能不EntityCollection <兒童>。爲了使您的查詢工作,您需要像這樣修改它:

var query = from p in context.ParentTable 
      from c in p.ChildTable 
      where p.IsActive == true 
        && c.Name == "abc" 
      select p;