код первый auto gen прокси класс навигация и свойства коллекции равны нулю

Для всех моих 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 Почему они нулевые? Как я могу диагностировать это дальше?

10
задан Cyril Gandon 22 April 2013 в 16:22
поделиться