我有如下表。我需要获取所提供的用户 ID 的所有经理 ID。
userid managerid
10 1
9 10
6 9
2 6
4 1
如果我将 2 传递给我的方法,我需要获取 1,10,9 和 6。我已经编写了以下查询,它将仅返回第一级父级。即它只会返回 6 和 9。
public List<int?> mymethod (int userId){
return (from e in mycontext.EmployeeManagers
join e1 in m_context.EmployeeManagers
on e.UserId equals e1.ManagerId
where e1.UserId == userId
select e1.ManagerId).AsQueryable().ToList()
}
如何修改查询以返回所有经理雇用情况?
请帮忙。
最佳答案
您不能在单个 LINQ 表达式中执行此操作。您必须循环运行它。
更好的选择是在数据库中执行此操作,然后将结果返回到 LINQ。
参见:
关于c# - 递归自连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373843/