2009-08-07 86 views
1

我正在學習EF並編寫一些代碼,並且我在下面有這種關係。爲什麼實體框架不會帶來關係集合?

alt text http://www.freeimagehosting.net/uploads/c931833c7c.png

當我嘗試這樣做:

var users = from u in db.Users 
      where u.Name.StartsWith("F") 
      select u; 

if(users.Count() > 0) 
{ 
    var dto = users.First(); 
} 

用戶「法比奧」返回,但區域數是0。他有一個區域的關係,其實。

EF不會自動關聯關係嗎?或者是重要的缺失?

回答

2

使用Include

var users = from u in db.Users.Include("Areas") 
      where u.Name.StartsWith("F") 
      select u; 

而且更改此代碼:

if(users.Count() > 0) // executes query 
{ 
    var dto = users.First(); // executes it again 
} 

到:

var dto = users.FirstOrDefault(); // execute once 
if (dto != null) 
{ 
    // ... 
}