安装 EF Core
将 EF Core 添加到不同平台和常用 IDE 中的应用程序的所需步骤汇总。
分步入门教程
我们已提供许多教程,指导你开始使用各种操作系统和应用程序类型。
提供的教程演示了这两种方法。
- .NET Framework(控制台应用、WinForms、WPF)
- .NET Core(Windows、macOS、Linux)
- ASP.NET Core
- 通用 Windows 平台 (UWP)
备注
但在大多情况下,应该可以使用以前的版本创建应用程序,只需对指令进行极少修改。
系统必备
-
即使有 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-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技术交流群: 欢迎加群