【发布时间】:2016-07-21 19:27:17
【问题描述】:
我有下面的代码:
List<XXTJobTableModel> xjobs = filexxts.GroupBy(x=> x.job)
.Select(fx => new JobTableModel
{
job_no = fx.First().job,
emps = fx.GroupBy(x=>x.emp_id).Select(x => new EmployeeTableModel
{
eid = x.First().emp_id,
heds = x.GroupBy(h => h.HED).Select(h => new HEDModel
{
hed = h.First().HED,
hours = h.Sum(c => c.HOURS),
amt = h.Sum(c => c.AMOUNTRATE)
}).ToList()
}).ToList()
}).ToList();
public class JobTableModel
{
public string job_no { get; set; }
public List<EmployeeTableModel> emps { get; set; }
}
public class EmployeeTableModel
{
public string emp_id { get; set; }
public List<HEDModel> heds { get; set; }
}
public class THEDModel
{
public string hed { get; set; }
public decimal hours { get; set; }
public decimal amt { get; set; }
}
我已经从另一个数据源加载了另一个List<XXTJobTableModel> yjobs。我想做的是,如果在 yjobs 中找不到 job_no,则将工作(带有员工和他的数据)添加到 yjobs。如果在 yjobs 中找到 job_no,并且在 Employee 表中找不到该职位的 emp_id,则将员工(和 hed 数据)添加到该职位。如果在该工作中找到该员工,则只需将 HED 数据添加到员工列表中即可。
如果我以某种方式合并 xjobs 和 yjobs,或者如果我将 xjobs 直接加载到 yjobs 列表中,我没有偏好。
谢谢
【问题讨论】:
标签: c# asp.net-mvc list