当类型与 linq 相同时选择父级和子级
我有一个像这样的对象,
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public IList<Employee> Employees{ get; set; }
}
我想做的是选择所有员工,以及单个集合中的父员工。我希望将父级作为分页集合中的第一项。现在我正在做这样的事情
Employee emp = getEmployeeFromService();
var allEmps = new List<Employee>();
allEmps.Add(emp);
allEmps.AddRange(emp.Employees);
var pagedEmployees= (from e in allEmps select e).Skip(offset).Take(pageSize);
有没有更好的方法来使用单个 linq 语句来做到这一点?
I have an object like this
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public IList<Employee> Employees{ get; set; }
}
What I would like to do is select all of the employees, plus the parent employee in a single collection. I want to have the parent as the first item in the collection for paging. Right now I am doing something like this
Employee emp = getEmployeeFromService();
var allEmps = new List<Employee>();
allEmps.Add(emp);
allEmps.AddRange(emp.Employees);
var pagedEmployees= (from e in allEmps select e).Skip(offset).Take(pageSize);
Is there a better way to do this with a single linq statement?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
像这样:
Like this:
看看这个问题:如何使用 LINQ 选择复合对象的所有后代。
Check out this question: How to use LINQ to select all descendants of a composite object .
对于员工列表:
示例(输出 7):
For a list of employees:
Example (outputs 7):