.Net: Wie man herstellerunabhängige Datensätze, Tableadapter und Bindungen erstellt (DB zur Laufzeit festgelegt)

Ich habe eine C # Windows Forms-Anwendung, deren Prototyp auf SQL Server (stark typisiertes Dataset) erstellt wurde. In der endgültigen Version muss die Anwendung in der Lage sein, über SQL Server, MySQL oder Oracle zu arbeiten.

Jetzt frage ich mich, welche Teile (falls vorhanden) vom Prototyp wiederverwendet werden können. 1. Datensatz (eingegeben)? 2. TableAdapter? (wahrscheinlich nicht, sie enthalten SQL Server-spezifische Syntax) 3. Bindungen an DataGridViews

Was ist am wichtigsten, wenn wir all dies erneut implementieren müssen, gibt es eine Möglichkeit, dies zur Entwurfszeit zu tun? Oder 1. Müssen wir programmgesteuert untypisierte Datensätze erstellen? 2. Müssen wir seine Datenadapter (oder Tabellenadapter) programmgesteuert erstellen? Wenn ja, welcher von beiden? 3. Müssen wir programmgesteuert seine Bindungen an die Datagridviews der Schnittstelle erstellen?

Vielleicht irrelevant: Wenn wir ein Entitätsmodell (AFAIK, das die Unabhängigkeit der Datenbank gewährleistet) vom vorhandenen Datenbankschema erstellen, können wir dies irgendwie verwenden, um Bindungen zu unseren Datengitteransichten zu erstellen?

Vielen Dank!

Sollten wir also alle generierten TableAdapter wegwerfen und manuell schreiben, um unsere Bindings und dataGridViews sowie einige zusätzliche von uns implementierte Logik beizubehalten? Wenn wir sie wegwerfen, sollten wir stattdessen DataAdapter verwenden?

Ist dies ein "by-the-Book" -Ansatz? Hat jemand so etwas gemacht?

Wenn Sie eine Forms-Anwendung erstellen müssen, um in mehreren Datenbanken zu arbeiten, sollten Sie Folgendes tun: A. Mit nicht typisierten Datensätzen, Datenadaptern / Tableadaptern und von Hand erstellten Bindungen B. Generieren Sie auf irgendeine Weise einen herstellerunabhängigen Datensatz und Datenadapter / Tableadapter ( wie?) und binden Sie sie zur Entwurfszeit durch die VS GUI C. auf eine andere Weise ???

AKTUALISIEREN:

Sollten wir also alle generierten TableAdapter wegwerfen und manuell schreiben, um unsere Bindings und dataGridViews sowie einige zusätzliche von uns implementierte Logik beizubehalten? Wenn wir sie wegwerfen, sollten wir stattdessen DataAdapter verwenden?

Ist dies ein "by-the-Book" -Ansatz? Hat jemand so etwas gemacht?

Wenn Sie eine Forms-Anwendung erstellen müssen, um in mehreren Datenbanken zu arbeiten, sollten Sie Folgendes tun: A. Mit nicht typisierten Datensätzen, Datenadaptern / Tableadaptern und von Hand erstellten Bindungen B. Generieren Sie auf irgendeine Weise einen herstellerunabhängigen Datensatz und Datenadapter / Tableadapter ( wie?) und binden Sie sie zur Entwurfszeit durch die VS GUI C. auf eine andere Weise ???

Antworten auf die Frage(2)

Ihre Antwort auf die Frage