假设我们有这张表:
WORKER
NAME ID ManagerID
------------------------
John 1 3
Sally 2 3
Paul 3 4
Jane 4 5
Jennifer 5 8
约翰和莎莉为保罗工作,保罗为简工作。
对于linq查询,我想提供Jane的ID(4)并让它返回所有下属:
John 1 3
Sally 2 3
Paul 3 4
我还需要这个查询以递归方式尽可能深入。例如,也许John有人为他工作,所以他们也会被包括在结果中。
我正在考虑使用SelectMany,但我不确定这是否可行:
db.Worker.SelectMany(w => w.ID).Where(w => w.ID == 4).ToList();
我正在使用Linq-to-SQL,查询只能使用这一个表。
您将如何构建此查询?
编辑:这是模型类的样子
WORKER
ID int
Name string
ManagerID int