Entity Framework Core系列教程-2安装EF Core

安装Entity Framework Core

这里我们将使用EF Core 3.1,因为它是长期支持版本,开发工具使用Visual Studio 2019,编写.NET Core应用程序。
EF Core 3.1 支持 .NET Standard 2.0,.NET Core 2.0,.NET Framework 4.7.2
其他的版本支持的.NET框架参考:

添加链接描述

EF Core不是.NET Core和标准.NET框架的一部分。它以NuGet软件包的形式提供。您需要在应用程序中安装两个NuGet软件包,才能在应用程序中使用EF Core:

  • EF Core DB provider
  • EF Core tools

在这我们使用Visual Studio 2019先创建一个空白解决方案:EFCoreTutorial,在解决方案中创建一个.net core控制台程序:
在这里插入图片描述
在这里插入图片描述
应用程序的.net core版本为3.1
在这里插入图片描述
EF Core允许我们通过提供程序模型访问数据库。对于不同的数据库,可以使用不同的EF Core DB提供程序。这些提供程序可以作为NuGet软件包使用。

首先,我们需要为要访问的数据库的提供程序安装NuGet软件包。在这里,我们要访问MS SQL Server数据库,因此我们需要安装Microsoft.EntityFrameworkCore.SqlServer NuGet包。

要安装数据库提供程序NuGet软件包,请在Visual Studio的解决方案资源管理器中右键单击该项目,然后选择“管理NuGet软件包”。(或在菜单上选择:工具-> NuGet软件包管理器->管理解决方案的NuGet软件包)。
在这里插入图片描述

这将打开NuGet软件包管理器UI。单击“浏览”或“更新”选项卡,然后在左上角的搜索框中搜索Microsoft.entityframeworkcore,如下所示。
在这里插入图片描述
选择要访问的数据库的提供程序包。在这种情况下,为MS SQL Server选择Microsoft.EntityFrameworkCore.SqlServer,如上所示(在上图我们可以看到该软件包支持的.net 框架版本)。 (确保它具有.NET符号,并且作者是Microsoft)。单击安装开始安装。
预览弹出窗口显示将要安装在您的应用程序中的软件包列表。查看更改,然后单击“确定”。
最后,接受与将要安装的软件包相关的许可条款。
这将安装Microsoft.EntityFrameworkCore.SqlServer程序包。在Dependencies-> NuGet中验证它,如下所示。
在这里插入图片描述
请注意,提供程序NuGet包还安装了其他依赖包,例如Microsoft.EntityFrameworkCore.Relational和System.Data.SqlClient。
或者,您也可以使用程序包管理器控制台安装提供程序的NuGet程序包。转到工具-> NuGet软件包管理器->软件包管理器控制台,然后执行以下命令来安装SQL Server提供程序软件包:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

安装 EF Core Tools

除了数据库提供程序包之外,您还需要安装EF工具来执行EF Core命令。这些功能使您在设计时可以更轻松地在项目中执行与EF Core相关的多项任务,例如迁移,脚手架等。
EF工具可以作为NuGet软件包使用。您可以根据要执行命令的位置来安装EF工具的NuGet软件包:使用软件包管理器控制台(EF Core命令的PowerShell版本)或使用dotnet CLI。

在程序包管理器中安装EF Core Tools:

为了从程序包管理器控制台执行EF Core命令,请从NuGet UI中搜索Microsoft.EntityFrameworkCore.Tools程序包,如下所示进行安装。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bri8jbo0-1581079860918)(D:\note\efcore\pic\8.png)]
这将允许您直接从Visual Studio中的程序包管理器控制台(PMC)执行EF Core命令以进行生成sql脚本,迁移等。

通过dotnet 命令行安装EF Core Tools:

这个功能一般不使用,因为有强大的Visual Studio,想学的参考:

https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet

posted @ 2020-02-07 20:56  星空天宇  阅读(149)  评论(0编辑  收藏  举报