Viele Produktentwickler möchten eine .NET-Anwendung schreiben, die nahtlos mit allen gängigen RDBMS wie SQL Server, Oracle, DB2, MySql funktioniert. Wenn wir den Datenanwendungsblock verwenden, wählt er dynamisch den Datenbanktreiber (OracleClient, SQLClient oder OleDBClient) basierend auf der Konfiguration aus.Datenbankneutrale .NET-Anwendung
Alle Datenbanken haben jedoch ihre eigenen Varianten von SQL. Es gibt feine Unterschiede, die verhindern, dass eine SQL-Codebasis universell verwendet wird - die Funktionsnamen sind unterschiedlich, die Art und Weise, wie Datumsangaben gehandhabt werden, sind unterschiedlich, die Art, wie Identitätsspalten gehandhabt werden, und so weiter.
Man könnte ein Produkt von Drittanbietern von Data Direct verwenden, um DB-neutralen Code mit vordefinierten Escape-Sequenzen zu schreiben.
Gibt es Tools oder Produkte von Microsoft, die dieses Problem beheben?
+1 Eine gute und umfassende Antwort. Es ist erwähnenswert, dass die EF derzeit nur RDBMS unterstützt. Das war es, worum das OP gebeten hat, also habe ich keine Probleme mit Ihrer Antwort, aber ich möchte nur darauf hinweisen, dass EF Ihnen nicht helfen wird, wenn Sie plötzlich über einen REST-Dienst auf Daten zugreifen müssen oder nicht-relational Datenquellen. –
EntityFramework funktioniert nicht mit Informix (Satans eigene Datenbank) –