Welche Anbieter gibt es und welche Erfahrungen haben Sie damit gemacht?
Ich würde gerne alle möglichen nativen .NET Framework Entity Framework-Anbieter kennenlernen, die es gibt, sowie deren Einschränkungen im Vergleich zu den Standard- LINQ2Entities (von MS für MS SQL). Wenn es mehr für dieselbe Datenbank gibt, noch besser. Sag es mir und ich werde diesen Beitrag mit dieser Liste aktualisieren.
Fühlen Sie sich frei, weitere Anbieter direkt in diesen Beitrag aufzunehmen oder eine Antwort zu geben, und andere (einschließlich ich) werden sie der Liste hinzufügen.
Entity Framework 1
Microsoft SQL Server Standard / Enterprise / Express
- Linq 2-Entitäten - Microsoft SQL Server-Connector
- DataDirect ADO.NET-Datenanbieter
Microsoft SQL Server CE (Compact Edition)
- Irgendein Anbieter?
MySQL
MySQL Connector (ab Version 6.0) - Ich habe über Fragen lesen bei der Verwendung
Skip()
,Take()
undSort()
in dem gleichen Ausdrucksbaum - jeder ist willkommen zur Eingabe ihrer Erfahrung / Wissen in Bezug auf diese.Hinweis : Die Integration von MySQL Connector / NET Visual Studio wird in den Express-Editionen von Visual Studio nicht unterstützt. Dies bedeutet, dass Sie MySQL-Datenbanken nicht im Datenbank-Explorer-Fenster anzeigen oder eine MySQL-Datenquelle über die Dialogfelder des Visual Studio-Assistenten hinzufügen können. Einige Benutzer stellen möglicherweise fest, dass dies ihre Fähigkeit einschränkt, Entity Framework und MySQL in Visual Studio Express zu verwenden.
Devart dotConnect für MySQL -
ähnliche Probleme wie der MySql-Connector, den ich gelesen habe, und beide versuchen, MS dafür verantwortlich zu machen[diese Probleme sollen gelöst werden ]
SQLite
PostgreSQL
Orakel
- Devart dotConnect für Oracle
- Beispiel für einen Entity Framework-Anbieter für Oracle - Community-Projekt
- DataDirect ADO.NET-Datenanbieter
DB2
- IBM Data Server Provider bietet EF-Unterstützung . Hier sind einige Einschränkungen .
- DataDirect ADO.NET-Datenanbieter
Sybase
Informix
- IBM Data Server Provider unterstützt Informix
Feuervogel
Provider Wrapper
Entity Framework 4 ( Beta )
Microsoft SQL Server
- Microsoft Linq to Entities 4 - ausgeliefert mit .net 4.0 und Visual Studio 2010; Bisher der einzige Anbieter für EF4
MySQL
- MySQL .NET-Connector , meistens funktionsfähig, aber ausstehende Probleme mit den Methoden CreateDatabase und DatabaseExists (v6.3.5)
- Devart dotConnect für MySQL
SQLite
PostgreSQL
Orakel
Microsoft SQL Server Analysis Services (SSAS)
Antworten:
DB2 wird funktionieren, aber wenn Sie einige der sofort einsatzbereiten .NET-Funktionen verwenden möchten, die wir alle für selbstverständlich halten (denken Sie an Mitgliedschafts- und Rollenanbieter), haben Sie einiges an Arbeit vor sich. DB2 kann mit gespeicherten Prozeduren nicht wirklich gut umgehen, daher sehen Sie sich auch viele parametrisierte Inline-SQLs an.
Ich hatte auch einige Leistungsprobleme mit dem Anbieter von IBM. Es gibt einen anderen Anbieter von einem Unternehmen namens DataDirect. Es scheint performanter zu sein, aber es wird Sie kosten. Bei einer externen Website, bei der Geschwindigkeit wichtig ist, sind die Kosten wahrscheinlich kein Problem.
Ich bin mir sicher, dass DB2 ein großartiges System ist, wenn Sie auf einer anderen Plattform aufbauen, aber es wurde nicht wirklich entwickelt, um mit .NET gut zu spielen. Wenn Sie nicht bereits mit DB2 verheiratet sind, würde ich woanders suchen.
quelle
Ich glaube, DB2 funktioniert noch nicht mit EF 4. Wenn ja, korrigiert mich bitte jemand und sagt mir, wie es gemacht wird. Ich kann die DB2-Anbieter nicht dazu bringen, in den Datenquellendialogen angezeigt zu werden.
quelle
Mit dem IBM Data Server Provider für .NET kann Informix mit EF arbeiten. Siehe hier: Linktext
quelle
Der Data Server Provider von IBM enthält einige Einschränkungen, die ihn für komplexere Abfrageszenarien irritierend und anfällig machen. Außerdem funktioniert der EDMX-Designer nicht mit Informix-Tabellen mit dem Präfix "informix. *". Siehe hier: Linktext
quelle
Sie vermissen System.Data.SQLite für SQLite. Es ist Open Source und meiner Erfahrung nach ziemlich zuverlässig. Soweit ich weiß, war es einer der ersten EF-Anbieter für andere Datenbanken als SQL Server
quelle
Die Probleme "Überspringen / Nehmen und Bestellen" wurden vor einigen Monaten beim Devart-Anbieter behoben.
Einige Hinweise zur EF4-Unterstützung
Derzeit bieten wir Unterstützung für Visual Studio Beta 1 und EF4 Beta 1. Wir planen, den Build mit EF4-Unterstützung Ende Dezember - Anfang Januar zu veröffentlichen. Wir können unseren Entity Framework-Support nicht als ideal bezeichnen - dieser ORM wurde ursprünglich für MS SQL Server entwickelt, sodass die Möglichkeit, die Wunder anderer DBMS zu berücksichtigen, erheblich eingeschränkt ist.
Es gibt eine Reihe von Problemen, die derjenige, der einen EF-Anbieter implementiert, einfach nicht umgehen kann. Einige Beispiele finden Sie hier . Das Hauptproblem hängt mit den Anweisungen CROSS APLY und OUTER APPLY zusammen, die in einigen Fällen von der EF-Laufzeit generiert werden. Andere DBMS bieten diese Anweisung nicht an, daher tritt das Problem bei der Übersetzung auf. Man sollte auch erkennen, dass EF im Fall von Legacy-Datenbanken im Allgemeinen nicht anwendbar ist.
Wir berücksichtigen die Benutzer, die mit dem Standard-Microsoft-Designer nicht zufrieden sind, und liefern Entity Developer - ein leistungsstarkes Tool für die Entwurfszeit - mit unseren Produkten aus.
quelle
EF 7 unterstützt folgende DB-Anbieter
• Microsoft SQL Server
• SQLite
• Microsoft SQL Server Compact Edition
• Npgsql (PostgreSQL)
• IBM Datenserver
• InMemory (zum Testen)
Referenz
quelle
MySQL hat einen Connector für EF4 , die aktuelle Version ist 6.3.5 und seine Hauptfunktionen funktionieren einwandfrei, aber es gibt immer noch Probleme mit einigen Methoden, z
Dies macht es schwierig, den Model-First-Ansatz vollständig zu nutzen. Dies ist durch manuelles Bearbeiten des MySQL-Skripts möglich (verfügbar mit der CreateDatabaseScript-Methode). Das MySQL-Team scheint nicht bestrebt zu sein, diese Fehler zu beheben. Ich bin mir nicht sicher, wie hoch das Engagement tatsächlich ist, aber es ist sicherlich niedriger als früher.
Abgesehen davon schlagen die gleichen Methoden auch mit SQL CE fehl (sie sind nicht implementiert, und ich sehe nicht, dass das MS-Team dies wahrscheinlich bald angehen wird).
quelle
Die Probleme mit Connector / NET in Take / Skip-Operatoren wurden vor langer Zeit behoben (der EF-Anbieter ist derzeit mit EF 5 und EF 4 kompatibel).
Unter den behobenen Fehlern:
http://bugs.mysql.com/bug.php?id=45723
http://bugs.mysql.com/bug.php?id=72148
http://bugs.mysql.com/bug.php?id=70828
http://bugs.mysql.com/bug.php?id=69751
Vielen Dank.
quelle