C# 使用C更新层次结构数据中的字段

C# 使用C更新层次结构数据中的字段,c#,sql-server,hierarchy,C#,Sql Server,Hierarchy,我有一张桌子 EmployeeID, ManagerID & EmployeeOrder 我需要编写c代码或sql语句来根据managerID关系更新所有记录的EmployeeOrder,如下所示: 您可以编写一个函数来更新一个层次结构的EmployeeOrder并递归调用它: void Update(string ManagerID){ var employees = DB.Employees.Where(e=>e.ManagerID == ManagerID).ToA

我有一张桌子

EmployeeID, ManagerID & EmployeeOrder
我需要编写c代码或sql语句来根据managerID关系更新所有记录的EmployeeOrder,如下所示:


您可以编写一个函数来更新一个层次结构的EmployeeOrder并递归调用它:

void Update(string ManagerID){
    var employees = DB.Employees.Where(e=>e.ManagerID == ManagerID).ToArray();
    for(int i=0;i<employees.Length;i++){
        employees[i].EmployeeOrder = m.EmployeeOrder + i.ToString("000");
        Update(Employees[i].EmployeeID);
    }
}

当然,也就是说,假设您正在使用LINQtoSQL或EntityFramwork或类似工具,那么您可以使用LINQ访问数据库。或者,您可以编写与上述算法等效的SQL语句或存储过程。

感谢您的重播,但您的解决方案假设我有EmployeeOrder中的数据,但在我的情况下,我没有此字段中的任何数据,我只有EmployeeID和ManagerID&我想为所有记录填写此字段不正确;如果执行该算法,它将用001初始化第一个雇员。
Update(null);