【发布时间】:2015-09-04 11:26:00
【问题描述】:
我正在尝试在表格中列出经理下的所有员工。因此,经理可以访问网页并查看他/她下的每个人,包括所有层次结构。
员工由以下组成:
public class Employee
{
int id {get; set;}
string FirstName {get; set;}
string LastName {get; set;}
int EmployeeNumber {get; set;}
int ManagerEmployeeNumber {get; set;}
}
目前,我只是获得经理的直接下属,但我想向经理下的每个人展示。
例子:
(FirstName: "Aaron", EmployeeNumber: 1, ManagerEmployeeNo: NULL)
(FirstName: "Jack", EmployeeNumber: 2, ManagerEmployeeNo: 1)
(FirstName: "Roger", EmployeeNumber: 3, ManagerEmployeeNo: 1)
(FirstName: "Nat", EmployeeNumber: 4, ManagerEmployeeNo: 2)
(FirstName: "Fred", EmployeeNumber: 4, ManagerEmployeeNo: 4)
这只是一个例子,经理们可以比这更深入。
这是我目前拥有的:
public List<Employee> GetManagedEmployees(Employee manager)
{
var managedEmployees =_employeeDb.Employees.Where(e => e.ManagerEmployeeNumber == manager.EmployeeNumber).ToList();
return managedEmployees.Any() == false ? null : managedEmployees;
}
非常感谢所有帮助!
【问题讨论】:
-
这是学校的家庭作业吗?
-
@SQLPolice 不,不是
-
您是在问如何使用
SQL或LINQ执行此操作? -
@RickS 他们都很好。我更喜欢 LINQ,但我也不介意使用存储过程来加载数据。