Это сложно объяснить.
У нас есть DataTable, который содержит настраиваемый пользователем выбор столбцов, которые не известны во время компиляции.Каждый столбец в DataTable имеет тип String.Нам нужно преобразовать этот DataTable в строго типизированную коллекцию объектов «ReturnItem», чтобы мы могли затем сортировать и фильтровать, используя LINQ для использования в нашем приложении.
Мы добились некоторого прогресса следующим образом:
- Мы начали с базового DataTable.
- Затем мы обрабатываем DataTable, создавая новый объект «ReturnItem» для каждой строки
- Этот объект «ReturnItem» имеет только два свойства:ID (строка) и столбцы (список (объект)).Коллекция свойств содержит одну запись для каждого столбца, представляющую один DataRow.
- Каждое свойство имеет строго типизированный тип (int, string, datetime и т. Д.).Например, он добавил бы новый объект «DateTime» в список столбцов «ReturnItem», содержащий значение столбца данных «Создано».
- В результате получается список (ReturnItem), который мы затем хотели бы иметь возможность сортировать и фильтровать с помощью LINQ на основе значения в одном из свойств, например, сортировать по дате «Создано».
Мы использовали динамическую библиотеку запросов LINQ, которая нам пока далеко, но это не похоже на путь вперед, потому что мы используем ее над списком объектов List.
По сути, мой вопрос сводится к следующему: Как я могу использовать LINQ для сортировки и фильтрации элементов в коллекции List (ReturnItem) на основе значений в свойстве List (object), которое является частью класса ReturnItem?