Frage

Ich möchte Entity Framework als Datenbankschicht in meiner Anwendung verwenden, habe jedoch festgestellt, dass Oracle Database nicht unterstützt wird und ich zu diesem Zweck einen Drittanbieter verwenden muss.

Ich möchte jedoch Datenbank-Layer-Unterstützung für mehrere Datenbanken (Oracle, MS Sql Server) erstellen und gleichzeitig Entitätsmodelle wie LinqToSql und Devart unterstützen.

wenn jemand Informationen hat, die mir helfen können, bin ich dankbar.Danke.

War es hilfreich?

Lösung 2

Ich habe festgestellt, dass linqconnect-Komponente von (devarT) tut, was ich brauche.

Andere Tipps

was Sie hier möchten, ist wahrscheinlich ein Repository-Muster, das in der Mitte sitzen kann, so dass Ihre Anwendung nicht achtet, wie die zugrunde liegenden Daten gespeichert sind.

Sie könnten so etwas wie mein Repository-Muster verwenden (lesen Sie hier darüber: http://blog.staticvoid.co.nz/2011/10/staticvoid-repository-patternyn-nuget.html ) und implementieren Sie eine benutzerdefinierte IREPOSOCOSONITYDATASource für Oracle (Sie könnten dies mithilfe des Linq durchführenan den Oracle-Anbieter von codplex, http://linqtooracle.codeplex.com/ ) oder alternativ können Sie Ihre eigenen schreibenRepository mit Implementierungen für SQL und Oracle.

Entity Framework enthält keinen Standardanbieter für andere RDBMS als SQL Server.Von jedem RDBMS-Drittanbieter, der EF unterstützen möchte, wird erwartet, dass er eine eigene Implementierung basierend auf dem Anbietermodell von Microsoft bereitstellt.Oracle hat tatsächlich einen offiziellen Anbieter veröffentlicht, der Teil von ist ODP.NET .Ich würde dieses empfehlen, weil es kostenlos ist:

http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html

PS.- Die Devart LinqConnect-Anbieter sind nicht wirklich Anbieter von Linq zu SQL.Sie stellen Klassen bereit, die die Struktur und Funktionalität der Linq to SQL-Klassen nachahmen (DataContext, EntitySet<T>, usw.), aber sie befinden sich in einem anderen Namensraum.Es ist für niemanden außer Microsoft möglich, einen Linq to SQL-Anbieter zu implementieren, da er das Anbietermodell niemals über öffentliche Typen verfügbar macht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top