帶有MySQL數據庫的ASP.NET 5 / MVC 6

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

我計劃構建一個將在Linux上託管的MVC 6網站,我目前正處於初始測試階段,看看新的ASP.NET 5(vNext)和MVC 6是如何工作的,以及我是否可以在Linux上部署所有內容。

我的網站必須使用數據庫,因為它將部署在Linux上,顯然我不能使用SQL Server。我非常想使用MySQL,但也許有其他選擇?我們現在只說,我需要MySQL,除非它不可能。

我意識到所有這些仍然處於測試階段並且尚未準備好進行生產,但我只是想進行初始設置以確保在我開始在實際網站上工作之前一切正常。如果沒有數據庫連接,我不能這樣做......

我很快發現,實體框架7還沒有MySQL連接器,這是MVC 6使用的。這是否意味著我運氣不好,必須等到新的MySQL連接器出來支持EF7?或者我可以在MVC 6網站中恢復到EF6,它支持MySQL嗎?我嘗試將依賴項添加到EF6但是在默認的MVC 6模板中有很多依賴項,所有引用EF7我完全丟失了,並且不知道如何處理它,如果它甚至可能的話。

總結一下:

  • 我可以將EF 7與MySQL一起使用,還是必須等到新的MySQL Connector支持這個?
  • 我可以回退到EF6並仍然使用MVC 6並在Linux上部署(使用Mono)嗎?如果是這樣,我該如何設置?
  • 如果所有其他方法都失敗了 - 我可以在Linux / Mono上使用與MVC 6不同的數據庫嗎?

熱門答案

我知道有兩種解決方案。 SQLite和Postgres。不幸的是,它們都不適合今天的生產應用。這兩個項目都在積極發展。 SQL Server仍然是EF 7中受支持最多的數據庫。這應該可以在Mono中運行,但遺憾的是需要使用Windows Server(或SQL Azure)。

SQLite的

在此處輸入圖像描述

不適合服務器,但仍然有效 :EntityFramework.Sqlite正在開發EF 7. 你可以從Nuget.org獲得beta1。這應該適用於Mono。

PostgreSQL的

Npgsql.EntityFrame

絕對是預發布,但正在構建 :此外,Postgres( npgsql )正在開發EF7提供程序。 他們的代碼是onGitHub ,您可以從他們的MyGet源獲取預發布包(將https://www.myget.org/F/npgsql-unstable添加到您的Nuget源。)




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因