1. 程式人生 > >Entity Framework Core 入門(2)

Entity Framework Core 入門(2)

安裝 EF Core

將 EF Core 新增到不同平臺和常用 IDE 中的應用程式的所需步驟彙總。

分步入門教程

無需具備 Entity Framework Core 或任何特定 IDE 的原有知識,即可學習這些入門教程。 這些教程將逐步介紹如何建立用於查詢和儲存資料庫中資料的簡單應用程式。 我們已提供許多教程,指導你開始使用各種作業系統和應用程式型別。

Entity Framework Core 可基於現有資料庫建立模型,也可基於模型建立資料庫。 提供的教程演示了這兩種方法。

 備註

這些教程和隨附示例已更新為使用 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 相關的任務的工具。 例如,可以建立遷移、應用遷移,並建立基於現有資料庫的模型。

提供了兩個工具集:

雖然可在包管理器控制檯中使用 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 歡迎加群交流
如果您認為這篇文章還不錯或者有所收穫,您可以點選右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!

作者:LouieGuo
宣告:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設定打賞功能,如有特殊需求請與本人聯絡!

微信公眾號:歡迎關注                                                 QQ技術交流群: 歡迎加群