我有以下型号:
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; }
}
他们都继承自" Model"。模特只有一个id。 一切都很好,但是: 延迟加载似乎无法正常工作。
我正在加载这样的发货人:
List<Consignor> consignors = UnitOfWork.ConsignorRepository.Get().ToList();
所有发货人都得到了正确的AddressID,地址不是空的(我猜是因为我在Consignor类中的构造函数)但是Address属性没有正确填充(没有街道,没有邮政编码等)。
答案 0 :(得分:1)
看起来Consignor的构造函数将使用空白的街道,zip等实例化一个新的Address对象(就像你在上一段中提到的那样);如果你删除了Address的实例化,你最终应该在你的Consignor对象上加载一个你可以根据需要懒洋洋地加载的地址。