我的表结构是这样的:
注意:有一个连接表“EmployeeProjects”(employeeid,projectid)。由于此表只是一个参考表,因此不会使用EF进行映射,也不会为其生成任何模型
var iQurableResult = DataContext.Department
.Include("Employee")
.Include("Employee.Projects")
.Include("Employee.Projects.Issues")
.Where(filter => filter.IsSelected && filter.filterId == filterId)
.Select(x => new
{
dep = x,
emp = x.Employee.
projects = x.Employee.Projects.Where(g=>g.Id==10)
//Project the
_issues = x.Employee.Projects.Where(g=>g.Id==10).Select(x=>x.Issues)
}).ToList();
此时,我在iQurableResult
中获取数据,并在匿名列表中提取过滤后的数据。
当我尝试将它们投射到实体中时,我无法获得Employee
的项目。代码如下。
var TableBList = iQurableResult.Select(y=>y.dep).ToList();
我的发现
我假设在投影时,Employee
无法找到与表Projects
的关系,因此未映射,但表问题映射在表员工中。
我应该如何获取与员工和项目相关的数据?