1. 程式人生 > >EF Core 2.1 中的新增功能(2)

EF Core 2.1 中的新增功能(2)

版本兼容 strong 名稱 col console 功能 開頭 install target

安裝 EF Core

將 EF Core 添加到不同平臺和常用 IDE 中的應用程序的所需步驟匯總。

分步入門教程

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

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

  • .NET Framework(控制臺應用、WinForms、WPF)
    • 新建數據庫
    • 現有數據庫
  • .NET Core(Windows、macOS、Linux)
    • 新建數據庫
  • ASP.NET Core
    • 新建數據庫
    • 現有數據庫
    • EF Core 和 Razor Pages
  • 通用 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-MigrationUpdate-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 歡迎加群交流
如果您認為這篇文章還不錯或者有所收獲,您可以點擊右下角的【推薦】按鈕精神支持,因為這種支持是我繼續寫作,分享的最大動力!

作者:LouieGuo
聲明:原創博客請在轉載時保留原文鏈接或者在文章開頭加上本人博客地址,如發現錯誤,歡迎批評指正。凡是轉載於本人的文章,不能設置打賞功能,如有特殊需求請與本人聯系!

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

技術分享圖片 技術分享圖片

EF Core 2.1 中的新增功能(2)