我使用实体框架来创建我的数据库模式并生成我的代码。我有一个名为 Employee 的表,它在 DaysOff 表中有子记录。DaysOff 对 Employee 有一个外键,并且在我的模型中有一个 1 到 * 的关联。我在 Employee 表上运行了一个 LINQ 查询,并期望我的 Domain.Employee 对象将填充 DaysOff 但 DaysOff 为空。当我深入研究对象时,我看到“employee.DaysOff.Count 引发了 System.ObjectDisposedException 类型的异常”。我认为将填充子记录是错误的吗?我该怎么做?这是我调用来获取我的员工的方法:
public static Domain.Employee SelectEmployee(int employeeId)
{
using (var db = new EmployeeEntities())
{
Domain.Employee emp = (from e in db.Employees
where e.EmployeeId == employeeId
select e
).FirstOrDefault();
return emp;
}
}
编辑:下面接受的答案和评论(全部赞成)的组合帮助我解决了这个问题(耶!):
public static Domain.Employee SelectEmployee(int employeeId)
{
using (var db = new EmployeeEntities())
{
Domain.Employee emp = (from e in db.Employees.Include("DaysOff")
where e.EmployeeId == employeeId
select e).FirstOrDefault();
return emp;
}
}