对于我最初提供的信息不充分感到抱歉
这是我更新的代码示例并已格式化。
EmployeeClass对象
public class EmployeeClass
{
public int EId {get; set;}
public int EName {get; set;}
public List<Department> DeptList {get; set;}
public List<Area> AreaList {get; set;}
}
public class Department
{
public int DepartmentID { get; set; }
public string DepartmentName { get; set; }
}
public class Area
{
public int AreaID { get; set; }
public string AreaName { get; set; }
}
这里的要求是,我想以这样一种方式返回输出类sortedEmployeeClass,它将通过展开Department和Area
返回sortedofmployeeClass对象的ListsortedEsmployeeClass对象扩展了EmployeeClass
public class sortedEmployeeClass : EmployeeClass
{
public string DepartmentName {get; set;}
public string AreaName{get; set;}
}
原始对象( EmployeeClass )包含具有部门和区域的员工列表作为列表
但是我希望将目标对象( sortedEmployeeClass )作为具有部门名称的员工列表,将区域名称作为字符串返回
希望这能让我更清楚地了解我正在寻找什么。如果您需要更多信息,请与我们联系。
例如
如果部门名单有人力资源,安全等...&amp;区域列表有Facility1和Facility2等...
我的预期输出是....
EId Ename DepartmentName AreaName
1 Joe HR Facilty1
1 Joe Safety Facilty1
2 Jill HR Facilty2
2 Jill Safety Facilty2
答案 0 :(得分:1)
您的值对象(VO)是错误的,但使用与您建议的代码相同的结构(请记住,您需要创建员工列表):
//this is the list with combinations
//---------------------------\/
List<sortedEmployeeClass> sortedList = new List<sortedEmployeeClass>();
foreach (var employee in employeeList)
{
foreach(var department in employee.DeptList)
{
foreach(var area in employee.AreaList)
{
sortedEmployeeClass sorted = new sortedEmployeeClass();
sorted.EId = employee.EId;
sorted.EName = employee.EName;
sorted.DepartmentName = department.Name;
sorted.AreaName = area.AreaName;
sortedList.Add(sorted);
}
}
}