我是Linq的新手,我刚开始研究Linq查询。我相信这与投影有关。但我无法深入了解如何在我的结果中得到我想要的东西。 这是我的场景:Office有两个分支
branch_1,branch_2
branch_1有dept_1_1和dept_1_2
branch_2有dept_2_1和dept_2_2
每个部门都有员工。
但是我需要通过Office查询以查找dept_2_2中所有员工的姓名,而dept_2_2是在branch_2中
这是我做的事情。
var result = office.Branch.First()
但first()
会给我branch_1,我不想让我如何获得branch_2然后进一步dept_2_2然后是所有员工。
我很感谢帮助我编写linq查询。
答案 0 :(得分:0)
var result = from branch in office.Branches
where branch.Name == "branch2"
from dept in branch.Departments
where dept.Name == "dept2"
select dept.Employees.ToList();
这给出了branch2中所有员工的IEnumerable列表 - > DEPT2
答案 1 :(得分:0)
我认为办公室类型List<Branch>
。请试试这个。我希望这对你有所帮助:
List<Employee>listOfEmployee = office.Where(l =>l.Branch == branch_2
&&l.Branch.DeptName == dept_2_2 )
.Select(l => l.Branch.Dept.Employee.EmpName)
.ToList();