Манипулировать значениями в datatable? - PullRequest
0 голосов
/ 25 марта 2011

Модуль импорта общих данных:
Я читаю данные из любого из 6 типов источников данных (CSV, Active Directory, SQL, Access, Oracle, Sharepoint) в таблицу данных.

Эти данные затем могут быть изменены пользователями путем приведения и вычисления для каждого столбца и записаны в таблицу SQL (любую таблицу, выбранную пользователем).

Это кажется простым, за исключением того, что пользователь также должен иметь возможность заменить некоторые поля в таблице данных значениями из полей в целевой базе данных SQL (поиск)

Я бы очень хотел сделать все вышеописанное с таблицей данных перед отправкой в ​​целевые базы данных, но не могу, повторить НЕ использовать Linq, поскольку структуры таблиц (и источник, и цель неизвестны и не представляют конкретный бизнес-объект.

tl; dr Мне нужно выполнить преобразования данных для любого объекта данных. Что является хорошим способом (Нет Linq!)

РЕДАКТИРОВАТЬ: исходные и целевые таблицы отличаются по структуре.

1 Ответ

0 голосов
/ 05 июля 2011

В итоге я написал класс для каждого типа базы данных во всех частях одного интерфейса и использовал GenericConnection на основе DbConnection для разных типов источников.

Я разбил процесс на:

  1. Импорт
  2. Transform
  3. Написать этапы, которые можно сохранить и открыть для повторного использования или редактирования.

Часть преобразования состоит из:

  1. литье
  2. Вычисления (строка, целое число, десятичное число, дата, логическое значение) как сложение, вычитание, деление, умножение, AND, OR, подстрока, замена
  3. Поиск по другим таблицам
  4. Прямое копирование

Преобразования могут быть поставлены в очередь, так что один столбец данных может пройти любое количество, чтобы соответствовать цели перед записью в цель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...