【发布时间】:2016-01-28 23:01:51
【问题描述】:
我有一个部门列表。每个部门都有一份员工名单。我需要返回此列表中 2015 年 1 月 15 日之后雇用的所有员工。但我需要返回“名册”列表,即List<Roster>。我需要 LINQ 查询方面的帮助。
这是我的部门课程
public class Department
{
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public List<Employee> Employees { get; set; } = new List<Employee>();
public string Location { get; set; }
}
我的员工类如下所示:
public class Employee
{
public int EmployeeId { get; set; }
public Guid PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public DateTime DateOfBirth { get; set; }
public DateTime HireDate { get; set; }
}
这是我的花名册
public class Roster
{
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public DateTime HireDate { get; set; }
}
到目前为止,我的查询如下所示:
var employees = departments.Where(x => x.Employees).Any(o => o.HireDate >= Convert.ToDateTime("1/15/2015")).Select(i => new Roster { ??? }).ToList();
请记住,我想返回List<Roster>,并且需要在结果中包含部门和员工信息。我不确定如何从 Department 对象和 Employee 中获取一些数据来创建 Roster 类。谢谢。
【问题讨论】: