У меня есть веб-сайт Asp.net MVC, в котором я использую структуру сущностей в своем хранилище данных для доступа к базе данных (с объектами POCO).Entity framework: Любая причина, по которой моя связанная сущность не «лениво загружена»?
Я не знаю почему, но иногда это выглядит как ленивая загрузка только не сделали:
пример кода не работает:
using(BusinessEntities context = new BusinessEntities()){
User user = context.Users.First(u=>u.Id == parameterId);
foreach(Post post in user.Posts){//user.Posts is null here and thrown an exception
//.. doing some things
}
}
Но если я это сделаю, то perfeclty работает
using(BusinessEntities context = new BusinessEntities()){
User user = context.Users.Include("Posts").First(u=>u.Id == parameterId);
foreach(Post post in user.Posts){//user.Posts is null here and thrown an exception
//.. doing some things
}
}
Но я не понимаю, почему ленивая загрузка не работает:
- контекст не расположен
- Это не объект проекта анонима или что-то подобное
- Я знаю, что есть много мест в моем коде, где я не должен указать это .INCLUDE и делать относительные работы
- Я отложенной загрузки Enabled установлено значение Правда на моей EDMX модели
Что может приводит к такому поведению?
Вы уверены, что находитесь на EF4, а не 3? –
Является ли 'Должности' объявленными как' virtual'? – Eranga
@WiktorZychla: Да, я уверен, POCO недоступны с EF3 – J4N