Для всех моих POCO все свойства навигации и коллекции равны нулю.
Позвольте мне представить некоторые сведения. У меня есть сложный код первого проекта с использованием EF 4.3.1. Генерация прокси была отключена. Свойства сбора и навигации управлялись вручную.
Теперь я включаю создание прокси и ленивую загрузку. При отладке я вижу, что моя сущность (которая приведена к моему известному типу POCO) теперь фактически является автоматически сгенерированным прокси-классом. Все идет нормально.
Теперь, когда я смотрю на мои свойства навигации, они равны нулю. Точно так же свойства моей коллекции равны нулю.
Используя отражение, я вижу, что прокси-класс переопределил мои свойства навигации и коллекции.
Все свойства навигации и коллекции являются виртуальными. Например:
public virtual NavigationType NavigationName { get; set; }
public virtual ICollection<CollectionType> CollectionName { get; set; }
Кроме того, все таблицы инициализируются так:
modelBuilder.Entity<TEntity>()
.Map(m =>
{
m.MapInheritedProperties();
m.ToTable("TableName");
});
Я также могу подтвердить, что база данных сгенерирована так, как ожидалось. Все внешние ключи присутствуют и связаны с ожидаемыми полями.
1110 Почему они нулевые? Как я могу диагностировать это дальше?