У меня есть 2 класса: Пользователь и Booklink
public class User
{
public int UserID { get; set; }
public string Email { get; set; }
public string Login { get; set; }
public string Surname { get; set; }
public string Name { get; set; }
public int Points { get; set; }
public string Password { get; set; }
public IEnumerable<BookLink> BookLinks { get; set; }
}
public class BookLink
{
public int LinkID { get; set; }
public int BookID { get; set; }
public int UserID { get; set; }
public DateTime EventDate { get; set; }
public Book Book { get; set; }
public User User { get; set; }
}
Я использовал новую функцию EF4.0 - POCO.
Проблема: при загрузке user entity свойство BookLinks имеет значение NULL (в таблице Booklinks есть несколько дочерних записей). Но другие поля (свойства) были загружены нормально, и все они (кроме Booklinks) имеют значения из базы данных.
Я получаю объекты из общего репозитория следующим образом:
UsersRepository usersRepository = new UsersRepository();
User user = usersRepository.FindByID(1);
Метод FindByID реализован следующим образом
private ObjectSet<T> _entitySet;
return _entitySet.AsQueryable().Where(predicate).SingeOrDefault();
И свойство навигации Booklinks в пользователь Экземпляр равен NULL
Я не могу понять, почему я вижу это поведение. Как я могу автоматически загружать дочерние записи?
Вот скриншот от дизайнера EF http://tinyurl.com/2ct45d5 (если это поможет ...)