Entity Framework Core 入門(2)
安裝 EF Core
將 EF Core 新增到不同平臺和常用 IDE 中的應用程式的所需步驟彙總。
分步入門教程
無需具備 Entity Framework Core 或任何特定 IDE 的原有知識,即可學習這些入門教程。 這些教程將逐步介紹如何建立用於查詢和儲存資料庫中資料的簡單應用程式。 我們已提供許多教程,指導你開始使用各種作業系統和應用程式型別。
Entity Framework Core 可基於現有資料庫建立模型,也可基於模型建立資料庫。 提供的教程演示了這兩種方法。
- .NET Framework(控制檯應用、WinForms、WPF)
- .NET Core(Windows、macOS、Linux)
- ASP.NET Core
- 通用 Windows 平臺 (UWP)
備註
這些教程和隨附示例已更新為使用 EF Core 2.1。 但在大多情況下,應該可以使用以前的版本建立應用程式,只需對指令進行極少修改。
安裝 Entity Framework Core
系統必備
-
若要開發面向.NET Core 2.1 的應用,請安裝 .NET Core 2.1 SDK。 即使有 Visual Studio 2017 的最新版本,也必須安裝 SDK。
-
若要使用 Visual Studio 開發面向 .NET Core 2.1 的應用,請安裝 Visual Studio 2017 版本 15.7 或更高版本。
-
若要在 ASP.NET Core 應用程式中使用 Entity Framework 2.1,請使用 ASP.NET Core 2.1。 使用早期版本的 ASP.NET Core 的應用程式必須更新到 2.1。
-
可以將 Visual Studio 2015 用於面向 .NET Framework 4.6.1 或更高版本的應用。 但需要可識別 .NET Standard 2.0 及其相容框架的 NuGet 版本。 若要在 Visual Studio 2015 中獲取此版本,將 NuGet 客戶端升級到版本 3.6.0。
獲取 Entity Framework Core 執行時
要將 EF Core 執行時庫新增到應用程式,可以為要使用的資料庫提供程式安裝 NuGet 包。 要獲取支援的提供程式及其 NuGet 包名稱的列表,請參閱資料庫提供程式。
要安裝或更新 NuGet 包,可以使用 .NET Core CLI、Visual Studio 包管理器對話方塊或 Visual Studio 包管理器控制檯。
ASP.NET Core 2.1 應用程式自動隨附記憶體中和 SQL Server 提供程式,因此無需單獨安裝。
提示
如需更新使用第三方資料庫提供程式的應用程式,請始終檢查與要使用的 EF Core 版本相容的提供程式有無更新。 例如,舊版本使用的資料庫提供程式與 2.1 版 EF Core 執行時不相容。
.NET Core CLI
以下 .NET Core CLI 命令安裝或更新 SQL Server 提供程式:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
可以使用 -v
修飾符在 dotnet add package
命令中指明特定的版本。 例如,若要安裝 EF Core 2.1.0 包,請將 -v 2.1.0
追加到命令中。
Visual Studio NuGet 包管理器對話方塊
-
在選單上選擇“專案”>“管理 NuGet 程式包”
-
單擊“瀏覽”或“更新”選項卡
-
若要安裝或更新 SQL Server 提供程式,請選擇
Microsoft.EntityFrameworkCore.SqlServer
包並確認。
有關詳細資訊,請參閱 NuGet 包管理器對話方塊。
Visual Studio NuGet 包管理器控制檯
-
從選單中,選擇“工具”>“NuGet 包管理器”>“包管理器控制檯”
-
若要安裝 SQL Server 提供程式,請在包管理器控制檯中執行以下命令:
Install-Package Microsoft.EntityFrameworkCore.SqlServer
-
若要更新提供程式,使用
Update-Package
命令。 -
若要指定特定版本,可以使用
-Version
修飾符。 例如,若要安裝 EF Core 2.1.0 包,請將-Version 2.1.0
追加到命令中
有關詳細資訊,請參閱包管理器控制檯。
獲取 Entity Framework Core 工具
除了執行時庫,還可以安裝設計時可在專案中執行一些與 EF Core 相關的任務的工具。 例如,可以建立遷移、應用遷移,並建立基於現有資料庫的模型。
提供了兩個工具集:
- .NET Core 命令列介面 (CLI) 工具可用於 Windows、Linux 或 macOS。 這些命令以
dotnet ef
開頭。 - 包管理器控制檯工具在 Windows 上的 Visual Studio 2017 中執行。 這些命令以動詞開頭,例如
Add-Migration
、Update-Database
。
雖然可在包管理器控制檯中使用 dotnet ef
命令,但在使用 Visual Studio 時使用包管理器控制檯工具更方便:
- 它們會自動使用包管理器控制檯中選擇的當前專案,無需手動切換目錄。
- 命令完成後,它們會自動在 Visual Studio 中開啟命令所生成的檔案。
獲取 CLI 工具
dotnet ef
命令隨附在 .NET Core SDK 中,但若要啟用這些命令,必須安裝 Microsoft.EntityFrameworkCore.Design
包:
dotnet add package Microsoft.EntityFrameworkCore.Design
ASP.NET Core 2.1 應用自動隨附此包。
如前面先決條件所述,還需要安裝 .NET Core 2.1 SDK。
重要
請務必使用與執行時包主版本匹配的工具包版本。
獲取包管理器控制檯工具
若要獲取適用於 EF Core 的包管理器控制檯工具,請安裝 Microsoft.EntityFrameworkCore.Tools
包:
dotnet add package Microsoft.EntityFrameworkCore.Tools
ASP.NET Core 2.1 應用自動隨附此包。
升級到 EF Core 2.1
若要將現有應用程序升級到 EF Core 2.1,可能需要手動刪除一些對舊版 EF Core 包的引用:
-
EF Core 2.1 不再需要或支援
Microsoft.EntityFrameworkCore.SqlServer.Design
等資料庫提供程式設計時包,但在升級其他包後,它們不會被自動刪除。 -
.NET SDK 現包含 .NET CLI 工具,這樣就可以從 .csproj 檔案中刪除對相應包的引用:
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
對於面向 .NET Framework 且由 Visual Studio 早期版本建立的應用程式,請確保它們與 .NET Standard 2.0 庫相容:
-
編輯專案檔案,並確保以下條目出現在初始屬性組中:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-
對於測試專案,還要確保存在以下條目:
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
asp.net core 交流群:787464275 歡迎加群交流
如果您認為這篇文章還不錯或者有所收穫,您可以點選右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!
宣告:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設定打賞功能,如有特殊需求請與本人聯絡!
微信公眾號:歡迎關注 QQ技術交流群: 歡迎加群