我正在学习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不会自动带来关系吗?或者是重要的缺失?
答案 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)
{
// ...
}