Генерация чистых классов бизнес-объектов из ужасного источника данных - PullRequest
0 голосов
/ 01 сентября 2009

Я начинаю с чистого листа для слоя классов бизнес / сущностей, но с существующим источником данных. Обычно это будет торт, запустить Entity Framework, указать его на БД и назвать его днем, но на данный момент мне нужно получить фактические данные из источника данных стороннего поставщика, который ...

  1. Доступ возможен только из универсального поставщика ODBC (не SQL)
  2. С очень плохим синтаксисом, наименованием, а в некоторых случаях дублируют данные везде
  3. Имеет более 100 таблиц, которые при объединении могут составлять около 1000 столбцов / свойств данных

Мне нужна только чтение из этой БД, поэтому мне не нужно поддерживать обновления / вставки / удаления, просто нужно извлекать «грязные» данные в чистые объекты один раз за запуск приложения.

Я бы хотел как можно больше изолировать базу данных от моих хороших, чистых, хорошо названных классов сущностей.

Есть ли хороший способ:

  1. Создать исходные классы сущностей из таблиц БД? (Таким образом, я просто переименовываю и исправляю свойства класса, чтобы очистить его, а не начинать с нуля.)
  2. Отобразить данные из БД в мои красивые чистые классы без написания 1000 наборов свойств?

Редактировать: Основная цель здесь не столько в том, чтобы придумать псевдо-ORM, сколько в том, чтобы генерировать как можно больше существующего кода на основе того, что уже есть, и затем настраивать как необходимо, устраняя множество трудоемких ручных задач написания классов.

Ответы [ 2 ]

3 голосов
/ 01 сентября 2009

Мне нравится избегать автоматической генерации классов из схем базы данных, просто чтобы иметь больший контроль над структурой сущностей - это и то, что имеет смысл для структуры базы данных, не всегда имеет смысл для структуры класса. Для сторонних или устаревших систем мы используем шаблон адаптера для наших бизнес-объектов - преобразование старого или плохо структурированного формата - в базу данных, плоские файлы, другие компоненты и т. Д. В нечто более подходящее.

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

2 голосов
/ 01 сентября 2009

Дамп базы данных. Я имею в виду, перепроектируйте схему, перенесите ваши данные, и у вас все получится.

...