安裝 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
- 若要指定特定版本,可以使用
修飾符。 例如,若要安裝 EF Core 2.1.0 包,請将-Version
追加到指令中-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
更新到 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 歡迎加群交流
如果您認為這篇文章還不錯或者有所收獲,您可以點選右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!
作者:
LouieGuo http://www.cnblogs.com/stulzq聲明:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格位址,如發現錯誤,歡迎批評指正。凡是轉載于本人的文章,不能設定打賞功能,如有特殊需求請與本人聯系!
微信公衆号:歡迎關注 QQ技術交流群: 歡迎加群
