EF Core 2.1 中的新增功能(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技术交流群: 欢迎加群

                

原文地址:https://www.cnblogs.com/guolianyu/p/9914303.html

时间: 2024-11-07 17:11:36

EF Core 2.1 中的新增功能(2)的相关文章

ADO.NET 中的新增功能

ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient Data Provider 以下是 .NET Framework 4.5 中用于 SQL Server 的 .NET Framework 数据提供程序的新增功能: ConnectRetryCount 和 ConnectRetryInterval 连接字符串关键字 (ConnectionString)

Windows Server 2016- Windows Server 2016 上 HYPER-V 中的新增功能

本文介绍在 Windows Server 2016 和 Microsoft HYPER-V 服务器 2016年上的新功能和更改功能 HYPER-V. 若要在使用 Windows Server 2012 R2 创建和移动或导入到服务器,在 Windows Server 2016 上运行 HYPER-V 虚拟机上使用的新功能,你将需要手动将虚拟机配置版本升级. 有关说明,请参阅 升级的虚拟机版本. 以下是本文中包含的内容和功能是否是新的或更新. 与连接待机兼容 (新) 在使用始终 On/Always

EF Core 2.1 中的 Eager loading、Explicit loading和LazyLoading (转自MSDN)

Entity Framework Core allows you to use the navigation properties in your model to load related entities. There are three common O/RM patterns used to load related data. Eager loading means that the related data is loaded from the database as part of

EF Core 2.0中如何手动映射数据库的视图为实体

由于Scaffold-DbContext指令目前还不支持自动映射数据库中的视图为实体,所以当我们想使用EF Core来读取数据库视图数据的时候,我们需要手动去做映射,本文介绍如何在EF Core中手动映射数据库的视图为实体. 假设我们在SQL Server中有如下数据库视图[dbo].[V_Person]: CREATE VIEW [dbo].[V_Person] AS SELECT ID, Code, Name, CreateTime, UpdateTime FROM dbo.Person G

C# 2.0 中的新增功能03 匿名方法

连载目录    [已更新最新开发文章,点击查看详细] 在 2.0 之前的 C# 版本中,声明委托的唯一方式是使用命名方法. C# 2.0 引入匿名方法,在 C# 3.0 及更高版本中,Lambda 表达式取代匿名方法作为编写内联代码的首选方式. 但是,本主题中有关匿名方法的信息也适用于 Lambda 表达式. 在有一种情况下,匿名方法提供 Lambda 表达式中没有的功能. 使用匿名方法可省略参数列表. 这意味着匿名方法可转换为具有多种签名的委托. Lambda 表达式无法实现这一点. 有关 L

C# 7.0 中的新增功能

来源:Mark Michaelis 链接:msdn.microsoft.com/magazine/mt790184   解构函数 从 C# 1.0 开始,就能调用函数,就是将参数组合起来并封装到一个类中的构造函数.但是,从来没有一种简便的方式可将对象解构回其各个组成部分.例如,假设有一个 PathInfo 类,它采用文件名的每个元素(目录名.文件名.扩展名),并将它们组合成一个对象,然后支持操作对象的不同元素.现在,假设你需要将该对象提取(解构)回其各个组成部分. 在 C# 7.0 中,通过解构

C#3.0中的新增功能09 LINQ 04 基本 LINQ 查询操作

连载目录    [已更新最新开发文章,点击查看详细] 本篇介绍 LINQ 查询表达式和一些在查询中执行的典型操作. 获取数据源 在 LINQ 查询中,第一步是指定数据源. 和大多数编程语言相同,在使用 C# 时也必须先声明变量,然后才能使用它. 在 LINQ 查询中,先使用 from 子句引入数据源 (customers) 和范围变量 (cust) . // 从 IEnumerable<Customer> 中查询所有的客户信息 var queryAllCustomers = from cust

C# 3.0中的新增功能10 表达式树 02 说明

连载目录    [已更新最新开发文章,点击查看详细] 表达式树是定义代码的数据结构. 它们基于编译器用于分析代码和生成已编译输出的相同结构.表达式树和 Roslyn API 中用于生成分析器和 CodeFixes 的类型之间存在很多相似之处. (分析器和 CodeFixes 是 NuGet 包,用于对代码执行静态分析,并可为开发人员建议可能的修补程序.)两者概念相似,且最终结果是一种数据结构,该结构允许以有意义的方式对源代码进行检查. 但是,表达式树基于一组与 Roslyn API 完全不同的类

HTML5中的新增功能

 <datalist> 标签 <datalist> 标签定义选项列表.请与 input 元素配合使用该元素,来定义 input 可能的值. datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表. 请使用 input 元素的 list 属性来绑定 datalist.  <datagrid> 标签 <datagrid> 标签定义可选数据的列表.datagrid 作为树列表来显示. <figure> 标签 用作文档中插图的图像: <