我有一张桌子,
EmployeeID, ManagerID & EmployeeOrder
我需要写c# code
或sql statment
根据EmployeeOrder
关系更新所有记录的managerID
:
答案 0 :(得分:0)
您可以编写一个函数来更新一个层次结构的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);
}
}
与任何递归方法一样,你必须启动它。在你的情况下,你可能会使用类似的东西:
Update(null);
当然,假设您正在使用LINQ to SQL或EntityFramwork或类似工具,那么您可以使用LINQ来访问您的数据库。您可以选择编写与上述算法等效的SQL语句等效或存储过程。