Можете ли вы показать нам используемый вами запрос?
По умолчанию Entity Framework не пересекает ассоциации, чтобы захватить объекты "на другом конце" ассоциации - вам придется сделать это явно.
var emps = from e in ObjectContext.Employees
where (some condition)
select e;
В этом случае ваша ассоциация «Employee.Questions» (при условии, что она называется так) всегда будет NULL - по замыслу.
Вы можете указать «Включить» в свой запрос:
var emps = from e in ObjectContext.Employees.Include("Questions")
where (some condition)
select e;
и теперь в этом случае при извлечении сотрудника также будут загружаться связанные «Вопросы».
Или вы можете сделать:
var emps = from e in ObjectContext.Employees
where (some condition)
select e;
foreach(Employee e1 in emps)
{
if(!e1.QuestionReference.IsLoaded)
{
e1.QuestionReference.Load();
}
}
явно и в коде загружать связанные объекты.
Поскольку многие люди расценили это как недостаток, в EFv4 будет возможность включить эту автоматическую «отложенную» загрузку, но опять же, вы должны сделать это явно и сознательно.
Марк