Почему Entity Framework не приносит коллекции отношений? - PullRequest
1 голос
/ 07 августа 2009

Я изучаю EF и создаю некоторый код, и у меня есть эти отношения ниже.

альтернативный текст 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 Ответ

2 голосов
/ 07 августа 2009

Использовать Включить :

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)
{
    // ...  
}
...