实体框架:为什么我的实体集合 属性 为空且 LazyLoadingEnabled = false?

Entity Framwork: Why is my entity's collection property empty with LazyLoadingEnabled = false?

上下文如下:

public partial class Estate
{
    public Estate()
    {            
    }    
    public int Id { get; set; }  
    public virtual ICollection<Photo> Photos { get; set; }

}

public Estate GetEstate(int EstateId)
{
    using (var db = new Entities())
    {
        db.Configuration.LazyLoadingEnabled = false;
        return db.Estates.Find(EstateId);
    }
 }

当我调用 GetEstate(estateId) 时,照片集总是空的。谁能帮忙。非常感谢。

根据此文档:msdn.microsoft.com/en-us/library/jj574232(v=vs.113).aspx,在序列化之前,我必须关闭延迟加载。我错过了什么?

您关闭了按需加载相关项目的功能,所以是的,它不再按需加载相关项目。您现在需要通过预加载手动执行此操作。

我认为您不能使用 Find 进行预加载,所以它会像

db.Estates.Include(e => e.Photos).FirstOrDefault(e => e.Id == EstateId)

每当您想一次性加载其他相关数据时,您将需要 Include(并使用 System.Data.Entity 获得 Include 的好版本)。