安装 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技术交流群: 欢迎加群

                

Entity Framework Core 入门(2)的更多相关文章

  1. Entity Framework Core介绍(1)

    介绍 Entity Framework (EF) Core 是轻量化.可扩展和跨平台版的常用 Entity Framework 数据访问技术. EF Core 可用作对象关系映射程序 (O/RM),以 ...

  2. Entity Framework Core(EF Core) 最简单的入门示例

    目录 概述 基于 .NET Core 的 EF Core 入门 创建新项目 更改当前目录 安装 Entity Framework Core 创建模型 创建数据库 使用模型 基于 ASP.NET Cor ...

  3. Entity Framework Core 中文入门文档

    点击链接查看文档: Entity Framework Core 中文入门文档

  4. 002从零开始入门Entity Framework Core——DbContext生存期、配置和初始化

    阅读须知:本文为入门介绍.指引文章,所示代码皆为最简易(或仅为实现功能)的演示示例版本,不一定切实符合个人(企业)实际开发需求. 一.DbContext生存期 DbContext 的生存期从创建实例时 ...

  5. Entity Framework Core 2.0 使用入门

    一.前言 Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core.以前我也嫌弃EF太重而不去使用它,但是EF Core(E ...

  6. Entity Framework Core 2.0 入门简介

    不多说废话了, 直接切入正题. EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle. EFCore 2.0新的东西: 查询: EF.Fu ...

  7. Entity Framework Core 2.0 入门

    该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Provide ...

  8. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

  9. ASP.NET Core 入门笔记9,ASP.NET Core + Entity Framework Core 数据访问入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity ...

随机推荐

  1. 51nod1312 最大异或和

    题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 320  有一个正整数数组S,S中有N个元素,这些元素分别是S[0],S[1],S[2]...,S[N-1]. ...

  2. springboot+mybatis使用PageHelper分页

    项目结构和spring搭建mybatis请参考springboot整合mybatis.在这个基础上配置分页. 一:导入PageHelper依赖 <dependency> <group ...

  3. 【leetcode 简单】 第八十一题 4的幂

    给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶: 你能不使用循环或者递 ...

  4. 【leetcode 简单】 第六十八题 二叉搜索树的最近公共祖先

    给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先且 x ...

  5. 使用win10 hyper-v安装linux系统

    1.控制面板---程序---启动或关闭windows功能---启动hyper-v管理器---重启 2.配置网络 因为公司内网通过ip验证,而通过桥接的方式,虚拟机就相当于物理机所在的网络中的一台真实主 ...

  6. php Only variables should be passed by reference 报错问题

    这个错误是变量引用引起的非致命错误,可修改php.ini文件的error_reporting = E_ALL & E_NOTICE 使其屏蔽此错误

  7. Servlet笔记2--模拟Servlet本质、第一个Servlet程序、将响应结果输出到浏览器中

    以下代码均非IDE开发,所以都不规范,仅供参考 模拟Servlet本质: 模拟Servlet接口: /* SUN公司制定的JavaEE规范:Servlet规范 Servlet接口是Servlet规范中 ...

  8. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  9. 使用httpClient调用接口,参数用map封装或者使用JSON参数,并转换返回结果

    这里接口用表存起来,标记请求方式,然后接受参数,消息或者请求参数都可以, 然后先是遍历需要调用的接口,封装参数,再分别调用get与post即可,没有微服务还是得自己写 //消息转发-获取参数中对应参数 ...

  10. 【算法学习】【洛谷】cdq分治 & P3810 三维偏序

    cdq是何许人也?请参看这篇:https://wenku.baidu.com/view/3b913556fd0a79563d1e7245.html. 在这篇论文中,cdq提出了对修改/询问型问题(Mo ...