考虑到我的Visual Studios要求,我使用Entity Framework Core (1.0.1)开始了我的最新项目。
因此,我像以往一样编写我的数据库模型,使用“virtual”关键词为列表启用延迟加载。但是,在加载父表时,子列表似乎从未加载。
父模型
public class Events
{
[Key]
public int EventID { get; set; }
public string EventName { get; set; }
public virtual List<EventInclusions> EventInclusions { get; set; }
}
童模
public class EventInclusions
{
[Key]
public int EventIncSubID { get; set; }
public string InclusionName { get; set; }
public string InclusionDesc { get; set; }
public Boolean InclusionActive { get; set; }
}
添加新记录到这些表似乎像往常一样运作,我可以像将EventInclusions记录嵌套在Events记录内一样将其作为列表嵌套。
可是当我查询这个表时
_context.Events.Where(e => e.EventName == "Test")
问题
无论后台数据如何,EventInclusions都将返回一个空值。
阅读一些内容后,我感觉这是EF6和我通常使用的EF Core之间的改变。
我可以使用一般性的延迟加载语句,或者找出指定延迟加载的新格式,寻求帮助。
Caz
Configuration.LazyLoadingEnabled = true;
和Configuration.ProxyCreationEnabled = true;
。 - Gusman