У меня есть следующие модели:Entity Framework и отложенная загрузка не работает
public sealed class Consignor : TwoNames
{
public Consignor()
{
Address = new Address();
}
}
Это мать класс TwoNames выглядит следующим образом:
public abstract class TwoNames : Search
{
[Required]
public int AddressId { get; set; }
public virtual Address Address { get; set; }
[Required]
public string Name1 { get; set; }
public string Name2 { get; set; }
}
И мой адрес модель здесь:
public class Address : Model
{
[Required]
public string Street { get; set; }
[Required]
public string ZipCode { get; set; }
[Required]
public string City { get; set; }
public string Country { get; set; }
public string Email { get; set; }
}
Все они наследуются от «Модели». Модель имеет только идентификатор. Все работает хорошо, НО: Ленивая загрузка, похоже, не работает.
Я загружая грузоотправитель, как это:
List<Consignor> consignors = UnitOfWork.ConsignorRepository.Get().ToList();
Всех грузоотправителей получил правильный AddressID и адрес не является нулевым (я думаю из-за мой конструктор в классе Грузоотправителя), но свойство Address является не заполнено правильно (без улицы, без почтового индекса и т. д.).
Абсолютно верно. Это заставило меня вернуться [этот ответ] (http://stackoverflow.com/a/20773057/861716). –
Правильно. Я полностью удалил конструктор. Теперь, когда я загружаю адрес отправителя, всегда имеет значение null и к нему нельзя получить доступ (NullPointerException) ... – mosquito87