2017-09-10 4 views
3

Ich habe erfolgreich eine asp.net Core mvc-Anwendung erstellt, die auf einem Ubuntu Linux-Server gehostet wird. Die Website läuft und funktioniert ordnungsgemäß.Verwenden von Entity Framework unter Ubuntu 16.04

Heute habe ich Entity Framework zu meinem Projekt hinzugefügt. Ich kann Daten in meine Datenbank posten und sie auf meinem Windows-Rechner abrufen, damit das funktioniert.

Wenn ich mein Projekt zu meinem Ubuntu-Maschine zu bewegen, die Website funktioniert, aber wenn ich den Zugriff auf Seiten versuchen, die meine Datenbank benötigen bekomme ich diesen Fehler:

PlatformNotSupportedException: LocalDB is not supported on this Platform. 
System.Data.SqlClient.SNI.LocalDB.GetLocalDBConnectionString(string localDbInstance) 

Bin ich Entity Framework/sql_server Pakete fehlen auf meiner Ubuntu-Maschine oder gibt es einen anderen Grund?

+0

Sie werden Linux verwenden, so verwenden MySQL oder MariaDB, die auf diese OS heimisch sind, ist es mit EF7 arbeitet und .net-Core- – Gusman

Antwort

4

Werfen Sie einen Blick auf die Fehlermeldung:

PlatformNotSupportedException: LocalDB is not supported on this Platform.

Was bedeutet, wird LocalDB unter Linux nicht unterstützt.

Siehe auch this issue auf GitHub:

As @ErikEJ said, LocalDB is Windows only. On Linux, you can use EF Core with a remote SQL Server (running on Windows), the preview version of https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview , or SQL Azure . Alternatively, you can use the Postgres and SQLite providers.

Also zusammenfassend Sie eine andere Datenbank benötigen.

1

kippen Sie die lokale DB-Datei von Visual Studio auf Ubuntu verwenden seine nicht als Fehler unterstützt sagen, aber Sie können den SQL Server 2017 als Datenbank-Engine seinen jetzt unterstützt Linux oder eines der unterstützten DBMS auf Ubuntu

verwenden, können Sie Über diesen Link sQL Server 2017 in Linux installieren Installation guidance

+0

dies wäre eine große Lösung sein, Allerdings erfordert SQL Server 2017 3.5 GB RAM, um zu installieren. Leider habe ich nicht so viel Widder. – jeninja

+0

Ich konnte dieses Problem lösen, indem ich SQLite verwendete und eine lokale .db-Datei erstellte. Siehe http://jeninja.net/Links für einige hilfreiche Ressourcen. – jeninja

Verwandte Themen