У меня есть коллекция сотрудников, и у каждого сотрудника есть своя ответственность. Я хотел бы вывести список сотрудников, отсортированных по имени, и вывести их обязанности, отсортированные по заголовку.Как заказать коллекцию и ее подмножество с помощью LINQ?
Таким образом, он должен быть выведен так:
Джейн Джонс
Обязанности:
ОТВЕТСТВЕННОСТЬ
Ответственность B
Mike Smith
Обязанности:
ОТВЕТСТВЕННОСТЬ
Ответственность C
Чтобы получить первоначальную коллекцию я использую:
var employees = _context.Employees.OrderBy(e => e.Name);
, но я не могу показаться, чтобы выяснить, как сделать заказ а также сборку обязанностей.
Я использую MVC, и мой вид получает строго типизированную коллекцию сотрудников, поэтому я не хочу создавать и возвращать анонимный тип.
Я решил не заказывать colelction, когда я достаю его из базы данных. Техническое упорядочение является частью презентации, поэтому я теперь делаю это в представлении (я использую MVC). Теперь я заказываю суб-коллекцию, когда я делаю foreach над сотрудником. Ответственность. – 2010-12-15 23:51:11
Было бы неплохо узнать, как это сделать для дальнейшего использования. Благодаря! – 2010-12-15 23:51:28
Я добавил второй подход ... Извините, это тоже очень тяжело. Я не думаю, что есть более простой способ, поэтому я согласен с вами - было бы гораздо лучше сделать заказ в представлении или создать специальный DTO (объект передачи данных) и сделать проекцию в него, а затем перейти к представлению вместо Работника. – 2010-12-16 01:54:08