2010-01-27 5 views
2

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

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

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

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

ответ

1

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

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


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

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

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

Смежные вопросы