EF7.Beta5:已回答实例的 Hirachical 导航 returns null - 直接访问有效
EF7.Beta5: Hirachical navigation on answered instances returns null - direct access works
测试了两个 类 的简单层次结构:
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; }
}
在 foreach
循环中访问 myContext.Company
有效。
在 foreach
循环中访问 myContext.Departments
有效。
在刚刚创建数据库条目后 - 甚至分层导航也能正常工作。
但是
试图访问(程序重启后)加载的 Company.Departments
- Departments
是 null
.
我的期望是错误的吗 - 在任何情况下都通过直接导航将所有前者添加 Departments
回来?
要么
那是 "to be fixed feature" 吗?
延迟加载尚未在 EF7 中实现。如果相关实体已经加载,导航属性将被修复。如果不是,导航属性将为空,除非您加载它们。要么急切...
var companies = db.Companies.Include(c => c.Departments);
...或明确地。
db.Departements.Where(d => d.CompanyId == company.Id).Load();
测试了两个 类 的简单层次结构:
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; }
}
在 foreach
循环中访问 myContext.Company
有效。
在 foreach
循环中访问 myContext.Departments
有效。
在刚刚创建数据库条目后 - 甚至分层导航也能正常工作。
但是
试图访问(程序重启后)加载的 Company.Departments
- Departments
是 null
.
我的期望是错误的吗 - 在任何情况下都通过直接导航将所有前者添加 Departments
回来?
要么
那是 "to be fixed feature" 吗?
延迟加载尚未在 EF7 中实现。如果相关实体已经加载,导航属性将被修复。如果不是,导航属性将为空,除非您加载它们。要么急切...
var companies = db.Companies.Include(c => c.Departments);
...或明确地。
db.Departements.Where(d => d.CompanyId == company.Id).Load();