为什么实体框架没有带来关系集合?

时间:2009-08-07 14:51:24

标签: visual-studio-2008 linq entity-framework c#-3.0

我正在学习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();
}

返回用户“Fabio”,但区域数为0.实际上,他与某个区域有关系。

EF不会自动带来关系吗?或者是重要的缺失?

1 个答案:

答案 0 :(得分: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)
{
    // ...  
}