2009-08-07 51 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) 
{ 
    // ... 
}