安装 EF Core

将 EF Core 添加到不同平台和常用 IDE 中的应用程序的所需步骤汇总。

分步入门教程

我们已提供许多教程,指导你开始使用各种操作系统和应用程序类型。

提供的教程演示了这两种方法。

 备注

但在大多情况下,应该可以使用以前的版本创建应用程序,只需对指令进行极少修改。

 

 

系统必备

  • 即使有 Visual Studio 2017 的最新版本,也必须安装 SDK。

  • 若要使用 Visual Studio 开发面向 .NET Core 2.1 的应用,请安装 Visual Studio 2017 版本 15.7 或更高版本。

  • 使用早期版本的 ASP.NET Core 的应用程序必须更新到 2.1。

  • 将 NuGet 客户端升级到版本 3.6.0。

获取 Entity Framework Core 运行时

数据库提供程序。

要安装或更新 NuGet 包,可以使用 .NET Core CLI、Visual Studio 包管理器对话框或 Visual Studio 包管理器控制台。

ASP.NET Core 2.1 应用程序自动随附内存中和 SQL Server 提供程序,因此无需单独安装。

 提示

例如,旧版本使用的数据库提供程序与 2.1 版 EF Core 运行时不兼容。

.NET Core CLI

以下 .NET Core CLI 命令安装或更新 SQL Server 提供程序:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

 

例如,若要安装 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 2.1.0 追加到命令中

包管理器控制台。

获取 Entity Framework Core 工具

例如,可以创建迁移、应用迁移,并创建基于现有数据库的模型。

提供了两个工具集:

  • 这些命令以 dotnet ef 开头。
  • 这些命令以动词开头,例如 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技术交流群: 欢迎加群

Entity Framework Core 入门(2)                Entity Framework Core 入门(2)

相关文章: