Как генерировать типизированные наборы данных для нескольких платформ баз данных? - PullRequest
2 голосов
/ 27 января 2010

Я хочу сгенерировать типизированный DataSet для баз данных Oracle и DB2 из одного файла XSD.

Справочная информация: Когда я перетаскиваю таблицу в Visual Studio Dataset Designer, она генерирует XSD-файл (например, DataSet1.xsd) со всей необходимой информацией. Затем VS вызывает встроенный инструмент (MSDataSetGenerator) для генерации классов набора данных в файл CS. Каким-то образом (я не знаю как) CS определяет поставщика данных и генерирует классы набора данных, которые ссылаются на поставщика данных (OracleDataProvider или IBM.Data.Provider).

Вопрос: Кто-нибудь знает, как я могу настроить VS для компиляции как для DB2, так и для генерации кода Oracle?

С наилучшими пожеланиями Оливер

1 Ответ

1 голос
/ 05 февраля 2010

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

Первый способ обойти это (немного) - использовать соединения ODBC для ваших адаптеров.
Затем строка подключения определяет, какую базу данных вы используете ..
Однако .. синтаксис SQL всегда немного отличается.


Лично я просто делаю DataSet.xsd только с таблицами данных (новые данные вместо новых адаптеров данных).

Затем я сам пишу свои собственные репозитории / адаптеры. Итак, один для оракула и один для DB2.
Эти репозитории / адаптеры заполняют таблицы данных ..

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

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