2009-07-09 25 views
4

Ich muss die ORM-Lösung für eine neue ASP.NET Web App mit einem Oracle-Backend betrachten.Entity Framework und Oracle

Hat jemand gute/schlechte Erfahrungen mit der Verwendung von Entity Framework mit Oracle gemacht?

Gibt es Alternativen (frei bevorzugt)?

+0

möglich Duplikat von [Können Sie Microsoft Entity Framework mit Oracle verwenden?] (Http://stackoverflow.com/questions/82644/can-you-use-microsoft-entity-framework-with-oracle) – bmargulies

Antwort

3

Microsoft hat keine unterstützte Option für Oracle für das Entity Framework - alle aktuellen Optionen sind nicht freie Drittanbieter.

NHibernate funktioniert sehr gut mit Oracle in meinen Erfahrungen, wie auch LLBLGenPro (nicht kostenlos, aber hat eine kostengünstige Entwicklerlizenz für den Entity Mapping Designer).

+0

Ich hatte eine Gefühl, MS hat keine unterstützte Option - die Dokumentation erwähnt, dass EF gegen ** jede ** Datenquelle arbeiten wird, aber ich konnte keine Besonderheiten finden. Vielen Dank für die Klärung. –

1

Ich habe keine Erfahrung mit EF, aber Nhibernate ist eine sehr gute Alternative.
Werfen Sie einen Blick auf die Screen Casts von Stephen Bohlen bei summer of nhibernate für eine gute Einführung in Nhibernate.

1

Sowohl Microsoft Oracle Client als auch ODP.NET unterstützen Entity Framework und LINQ to SQL nicht. DataDirect in ihrer neuen Betaversion unterstützt Entity Framework, unterstützt jedoch LINQ to SQL nicht. Devart dotConnect für Oracle unterstützt sowohl Entity Framework (und LINQ to Entities) als auch LINQ to Oracle (Oracle-spezifische Implementierung von LINQ to SQL).

+0

Vielen Dank. Ich benutze immer dein Produkt. Ich hoffe, dass dieser Link nützlich sein wird - http://www.devart.com/dotconnect/oracle/. – JackD

1

Wir hatten großen Erfolg mit Oracle 11g und Entity Framework 1.0 (Visual Studio 2008 SP1) auf meinem aktuellen Projekt. Um die Lücke mit der Out-of-the-Box-Funktionalität zu schließen, habe ich ein kostenloses Tool von CodePlex namens EF Oracle ODP Provider implementiert. Dies nutzt die neuesten Oracle-Datenanbieter und bietet einen Wrapper zur Aktivierung der Generierung von Entitätsdatenmodellen. Leider lässt es sich nicht gut in den in Visual Studio integrierten Entity Designer integrieren. Daher müssen Sie einige Befehlszeilen-Dienstprogramme ausführen, um Ihr Modell auf den neuesten Stand zu bringen und zu warten.

Sie können mehr herausfinden hier: http://eforacleodpprovider.codeplex.com/.

3

Im Juni 2010 veröffentlichte Oracle eine Erklärung der Richtung in Bezug auf die Unterstützung für Microsoft ADO.NET Entity Framework:

Oracle plant Oracle Data Provider for .NET (ODP.NET) zu verbessern ADO zu unterstützen. NET-Entität Framework. Oracle-Datenbankentwickler können Visual Studio-Tools und APIs verwenden, die ein Standardbestandteil von ADO.NET Entity Framework sind.

ADO.NET Entity Framework ist eine Client-/Middle-Tier-Technologie. Daher werden die Client-Software von Oracle und ODP.NET direkt in Entity Framework integriert, um den Datenzugriff mit der Oracle-Datenbank zu unterstützen.

Oracle Pläne auf eine Beta „Gegen Ende des Jahres 2010“ Freigabe und der Produktion im Jahr 2011

Weitere Informationen können durch den Download der Statement of Direction selbst zu finden.

0

Oracle bietet jetzt Unterstützung für Entity Framework mit seiner Oracle Data Access Components (ODAC) Dies wird jedoch nur für .NET 4.0 unterstützt.

Wenn Sie mit einem Kunden wie ich, der hartnäckig darauf bestand, .NET 2.0/3.5 zu bleiben, endet, verhält sich das jetzt frei Telerik Open-Access-ORM sehr ähnlich wie Entity Framework eine Reihe von Datenbanken einschließlich Oracle unterstützt. Unterstützung für ältere Versionen von.NET wird wahrscheinlich gelöscht werden, wenn sie nicht bereits vorhanden sind, aber es gibt Versionen, die Sie sicher herunterladen können, die den Support bereitstellen.

0

Die Unterstützung wurde für EF6 gelöscht, daher mussten wir uns an EF5 halten, um eine Verbindung zu Oracle DB herstellen zu können. Wir haben einige Probleme mit dem Mapping bekommen. Es würde standardmäßig die Nummer (5) zu kurz abbilden und würde eine Ausnahme auslösen, wenn es über 32k gelesen würde. Die Fehlerbehebung verursachte einige Fehler bei der Bereitstellung. Wir haben am Ende die Datenbank geändert. Vermeiden Sie Datentypen mit der Nummer (5) und der Nummer (10).

Ich bin derzeit einkaufen für eine andere Orm mit LINQ und Oracle-Unterstützung.

Bis jetzt frei, habe ich Telerik Data Access und NHibernate gefunden.