.Net: как создать независимый от поставщика набор данных, табличные адаптеры, привязки (база данных определяется во время выполнения)

У меня есть приложение C # Windows Forms, чей прототип был создан на SQL Server (строго типизированный набор данных). В окончательной версии приложение должно работать на SQL Server, MySQL или Oracle.

Теперь мне интересно, какие части (если таковые имеются) могут быть повторно использованы из прототипа. 1. Набор данных (напечатан)? 2. TableAdapters? (вероятно, нет, они содержат специфичный для SQL Server синтаксис) 3. Привязки к DataGridViews

Самое главное, если нам нужно заново все это реализовать, есть ли способ сделать это во время разработки? Или же, 1. нужно ли программно создавать нетипизированный набор данных? 2. нужно ли программно создавать свои адаптеры данных (или адаптеры таблиц)? Если да, то какой из двух? 3. Нужно ли нам программно создавать привязки к сетке данных интерфейса?

Возможно, не имеет значения: если мы создадим модель сущности (AFAIK, которая обеспечивает независимость БД) от существующей схемы БД, можем ли мы использовать это каким-либо образом для создания привязок к нашим сетевым представлениям?

Спасибо!

Итак, чтобы сохранить наши Bindings и dataGridViews, а также некоторую дополнительную логику, которую мы реализовали, должны ли мы выбросить все сгенерированные TableAdapter и написать их вручную? Если мы их выбрасываем, должны ли мы вместо этого использовать DataAdapters?

Является ли это "за книгой"? подход? Кто-нибудь сделал что-то подобное?

В более общем случае, если вам нужно создать приложение Forms для работы с несколькими базами данных, сделайте ли вы это: A. с нетипизированным набором данных, dataadapters / tableadapters и привязками, созданными вручную B. как-то сгенерируйте независимый от поставщика набор данных и dataadapters / tableadapters ( как?) и связать их во время разработки через VS gui C. каким-то другим способом ???

UPDATE:

Итак, чтобы сохранить наши Bindings и dataGridViews, а также некоторую дополнительную логику, которую мы реализовали, должны ли мы выбросить все сгенерированные TableAdapter и написать их вручную? Если мы их выбрасываем, должны ли мы вместо этого использовать DataAdapters?

Является ли это "за книгой"? подход? Кто-нибудь сделал что-то подобное?

В более общем случае, если вам нужно создать приложение Forms для работы с несколькими базами данных, сделайте ли вы это: A. с нетипизированным набором данных, dataadapters / tableadapters и привязками, созданными вручную B. как-то сгенерируйте независимый от поставщика набор данных и dataadapters / tableadapters ( как?) и связать их во время разработки через VS gui C. каким-то другим способом ???

Ответы на вопрос(2)

Ваш ответ на вопрос