Ich konnte MariaDB 10 mit Entity Framework verwenden, obwohl es ein wenig Arbeit erforderte, hauptsächlich weil die MySQL-Tools ein bisschen fehlerhaft sind.
mit MySQL/MariaDB in Visual Studio arbeiten 2010/2012, müssen Sie MySQL for Visual Studio mit MySQL Installer installieren. Ich benutzte die Web-Version, da ich nur die Anschlüsse und die Erweiterungen herunterladen wollte. Sobald Sie dies getan haben, können Sie Verbindungen zu MariaDB hinzufügen und EF-Modelle erstellen.
Dies ist jedoch nicht genug, um den Code auszuführen. Zuerst müssen Sie den MySQL Connector mit NuGet hinzufügen.
Leider fügt MySQL für Visual Studio einen Verweis auf eine ältere Provider-Version (here genannt) hinzu und kann die neuere Version nicht laden. Um das Problem zu beheben, habe ich den folgenden Abschnitt in meiner app.config hinzugefügt:
Dies ersetzt die alte Referenz durch eine neue. Beachten Sie, dass ich
<remove invariant="MySql.Data.MySqlClient"/>
nicht
<remove name="MySql Data Provider"/>
im remove
Element verwendet wird.
Derzeit MySQL für Visual Studio ist in Visual Studio 2013 nicht unterstützt
UPDATE - 2017
Connector/NET im Wesentlichen stagniert, mit den gleichen Problemen es im Jahr 2013 hatte, zB keine echte asynchrone Aufrufe. Die "Async" -Aufrufe sind gefälscht - sie laufen auf separaten Threads und vereiteln den eigentlichen Zweck der Verwendung von async
. Das allein macht es für Web-Anwendungen ungeeignet, wo man so viele Anfragen wie möglich unter Verwendung der minimalen Anzahl von Threads/CPU abfeuern möchte.
Macht nichts mit .NET Core-Unterstützung.
Deshalb haben Menschen in den letzten Jahren ihre eigenen, wirklich asynchronen Anbieter aufgebaut. Einige der beliebtesten sind:
- MySqlConnector bietet eine wirklich asynchronen Provider für .NET und.NET-Core
- Pomelo bietet EF Core-Unterstützung auf der MySQLConnector
Mit etwa 100K NuGet lädt jeden, häufige Versionen und aktive Wartung. obwohl
Sie sind nicht „offizielle“, aber auf jeden Fall einen Versuch wert
Sehen als MariaDB eine politische Gabel ist, würde sie verrückt sein Kompatibilität brechen mit Wire-Protokoll von MySQL. Es ist wahrscheinlich einfacher, die Kompatibilität aufrechtzuerhalten, als eine ganze Familie von Client-Software zu verwalten. Sie sagen dies auch ausdrücklich in der Dokumentation: https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/. – millimoose
Ich habe nicht die Ressourcen, um einen RedHat Server mit MariaDB zu virtualisieren. Was ich versucht habe, ist ein MySQL auf einem RedHat Server. –
Sie können VirtualBox nicht herunterladen, CentOS und MariaDB installieren und ein Beispielprojekt auf diese Datenbank verweisen? – millimoose