我有一组员工,每位员工都有一组职责。我想输出按姓名排序的员工列表,并按标题排序输出其职责。

因此,应该这样输出:

简·琼斯(Jane Jones)

职责:

责任A

责任B

迈克·史密斯

职责:

责任A

责任C

为了获得初始集合,我使用:

var employees = _context.Employees.OrderBy(e => e.Name);

但我似乎也无法弄清楚如何对“责任”子集合进行排序。

我正在使用MVC,并且我的View收到一个强类型的Employee集合,所以我不想构建并返回匿名类型。

最佳答案

您可以执行以下操作:

var employees = _context.Employees.OrderBy(e => e.Name);
employees.ToList().ForEach(e => e.Responsibilities = e.Responsibilities.OrderBy(r => r.Name));

关于linq - 如何使用LINQ订购集合及其子集合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4455695/

10-16 05:13