测试了两个类的简单层次结构:
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
...
public List<Department> Departments { get; set; }
}
添加了两个
实例 public class Department
{
public int Id { get; set; }
public string Name { get; set; }
...
public Company Company { get; set; }
}
myContext.Company
循环中的访问foreach
有效。
myContext.Departments
循环中的访问foreach
有效。
刚刚创建了数据库条目 - 甚至是层次导航工作。
BUT
尝试访问(程序重启后)加载的Company.Departments
- Departments
为null
。
我的期望是错误的 - 在任何情况下通过直接导航让所有前者添加Departments
?
要么
这是一个“待修复的特征”吗?
答案 0 :(得分:0)
EF7中尚未实现延迟加载。如果已加载相关实体,则将修复导航属性。如果不是,导航属性将为null,除非您加载它们。要么热切地......
<svrl:failed-assert test="if (not(@duration) and not(child::dash:SegmentTimeline)) then false() else true()"
location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']/*[local-name()='Period' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']/*[local-name()='AdaptationSet' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']/*[local-name()='SegmentTemplate' and namespace-uri()='urn:mpeg:dash:schema:mpd:2011']">
......或明确地说。
var companies = db.Companies.Include(c => c.Departments);