ASP.NET 5 / MVC 6 mit MySQL-Datenbank

asp.net-core entity-framework-core mysql mysql-connector

Frage

Ich habe Pläne, eine MVC 6-Website zu erstellen, die auf Linux gehostet wird, und ich bin gerade in der ersten Testphase, um zu sehen, wie die neuen ASP.NET 5 (vNext) und MVC 6 funktionieren und ob ich alles unter Linux bereitstellen kann.

Meine Website muss eine Datenbank verwenden und da sie unter Linux bereitgestellt wird, kann ich SQL Server natürlich nicht verwenden. Ich würde gerne MySQL verwenden, aber vielleicht gibt es andere Alternativen? Lass uns einfach sagen, für den Moment brauche ich MySQL, außer es ist nicht möglich.

Mir ist klar, dass das alles noch in der Beta-Phase ist und nicht für die Produktion bereit ist, aber ich möchte nur die Ersteinrichtung vornehmen, um sicherzustellen, dass alles funktioniert, bevor ich anfange, an der eigentlichen Website zu arbeiten. Ich kann das nicht tun, wenn keine Datenbankverbindung besteht ...

Ich fand bald heraus, dass es für Entity Framework 7 noch keinen MySQL Connector gibt, den MVC 6 verwendet. Bedeutet das, dass ich kein Glück habe und warten muss, bis ein neuer MySQL-Connector EF7 unterstützt? Oder kann ich möglicherweise auf einer MVC 6-Website, die MySQL unterstützt, zu EF6 zurückkehren? Ich habe versucht, Abhängigkeiten zu EF6 hinzuzufügen, aber es gibt so viele Abhängigkeiten in der Standard-Vorlage von MVC 6, dass alle EF7-Referenz vollständig verloren sind und ich keine Ahnung habe, wie ich das angehen soll, wenn es überhaupt möglich ist.

Also zusammenfassen:

  • Kann ich EF 7 bereits mit MySQL verwenden, oder muss ich warten, bis ein neuer MySQL Connector dies unterstützt?
  • Kann ich auf EF6 zurückgreifen und immer noch MVC 6 verwenden und unter Linux (mit Mono) bereitstellen? Wenn ja, wie richte ich das ein?
  • Wenn alles andere fehlschlägt - kann ich eine andere Datenbank mit MVC 6 unter Linux / Mono verwenden?

Beliebte Antwort

Ich kenne 2 Lösungen für Sie. SQLite und Postgres. Leider weder für eine Produktionsanwendung von heute geeignet. Beide Projekte sind aktiv in der Entwicklung. SQL Server ist immer noch die am besten unterstützte Datenbank in EF 7. Dies sollte von Mono aus funktionieren, aber Sie müssen leider einen Windows Server (oder SQL Azure) verwenden.

SQLite

Bildbeschreibung hier eingeben

Nicht ideal für Server, funktioniert aber immer noch : Die EntityFramework.Sqlite ist in Entwicklung für EF 7. Sie können beta1 von Nuget.org bekommen. Dies sollte auf Mono funktionieren.

PostgreSQL

Npgsql.EntityFrame

Definitiv Pre-Release, aber wird erstellt : Auch Postgres ( npgsql ) entwickelt sich auf EF7-Provider. Ihr Code ist onGitHub und Sie können ein Pre-Release-Paket von ihrem MyGet-Feed erhalten (Fügen Sie https://www.myget.org/F/npgsql-unstable zu Ihren Nugget-Quellen hinzu.)




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum