【发布时间】:2021-11-16 19:03:40
【问题描述】:
我想编写一个 api 来获取从员工到 CEO 的整个经理层级 例如在下表中-
EmployeeName ManagerName
C D
B C
G C
E B
F B
A B
D NULL
对于员工 A,我希望输出为 BCD
我正在使用 ASP.NET Core Web API,SQL Server 也一样。
我尝试将代码编写为-
[Route("empLevel/{id}")]
public IActionResult GetEmpHierarchy(int id)
{
List<Employee> emp = entity.Employees.ToList();
List<Employee> mngr = entity.Employees.ToList();
var query = (from e in emp
join m in mngr on e.MngId equals m.Id
select new Employee { Id = e.Id, MngId = m.MngId }).Where(x => x.Id == id).ToList();
return Ok(query);
}
但结果仍然不如预期。请提供解决方案。
【问题讨论】:
-
尝试将 where 子句放在 from 语句中
标签: c# entity-framework asp.net-core asp.net-web-api get