asp.net core 系列 19 EFCore介绍
原文:asp.net core 系列 19 EFCore介绍

一.概述

  目前最新的EF Core版本是3.0,最稳定的EF Core版本是2.2。EF Core 的计划与 .NET Core以及 ASP.NET Core 版本同步。EF Core 是一个 .NET Standard库,使用 EF Core 开发面向 .NET Core 的应用。生成 .NET Core 应用需要安装 .NET Core SDK。最后,不同的EF 数据库提供程序使用可能需要 特定的数据库引擎版本、.NET 实现或操作系统。 请确保可用的 EF Core 数据库提供程序支持适用于应用程序的环境。

  

  1.1 比较 EF Core 和 EF6

    Entity Framework 6 (EF6) 是一种久经验证的数据访问技术。 2008 年首次发布。 EF6 在 .NET Framework 4.x 上运行,这意味着它仅在 Windows 上运行。未来EF6 产品仍受支持,并将继续提供 bug 修复和细微改进。

Entity Framework Core (EF Core) 是在 2016 年首次发布的 EF6 的完全重写。 它附带于 Nuget 包中,是 Microsoft.EntityFrameworkCore 的主要组成部分。EF Core 是一种跨平台产品,可以在 .NET Core 或 .NET Framework 上运行。EF Core 旨在提供类似于 EF6 的开发人员体验。 大多数顶级 API 保持不变,因此,用过 EF6 的开发人员都会对 EF Core 感到很熟悉。

    关于EF6与EF Core的功能比较,查看官方文档: https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/#feature-comparison

  1.2 EF Core数据库提供程序

    Entity Framework Core 可通过数据库提供程序的插件库访问许多不同的数据库。EF Core 提供程序由多种源生成。 并非所有提供程序均作为 Entity Framework Core 项目的组成部分进行维护(Microsoft供应商提供),这里只列出几个常用的数据库提供程序:

NuGet 程序包

支持的数据库引擎

维护商/供应商

Microsoft.EntityFrameworkCore.SqlServer

SQL Server 2008 及以上版本

EF Core 项目 (Microsoft)

Pomelo.EntityFrameworkCore.MySql

MySQL、MariaDB

Pomelo Foundation 项目

Pomelo.EntityFrameworkCore.MyCat

MyCAT 服务器

Pomelo Foundation 项目

MySql.Data.EntityFrameworkCore

MySQL

MySQL 项目 (Oracle)

Devart.Data.Oracle.EFCore

Oracle 9.2.0.4 及以上版本

DevArt

Devart.Data.MySql.EFCore

MySQL 5 及以上版本

DevArt

   关于EF Core数据库提供程序,查看官方文档  https://docs.microsoft.com/zh-cn/ef/core/providers/index#current-providers

  1.3 应用程序添加数据库提供程序

    EF Core 的大多数数据库提供程序都是作为 NuGet 包分发的。这意味着可使用命令行中的 dotnet 工具来安装它们(先安装.NET Core SDK),或者在 Visual Studio 中,使用 NuGet 包管理器控制台:

    dotnet add package provider_package_name-- NuGetinstall-package provider_package_name

    例如:在vs中使用NuGet安装数据库提供程序Microsoft.EntityFrameworkCore.SqlServer,如下所示:

    Install-Package Microsoft.EntityFrameworkCore.SqlServer

    若要更新提供程序,使用 Update-Package 命令。若要指定特定版本,可以使用 -Version 修饰符。 例如,若要安装 EF Core 2.2.0 包,请将 -Version 2.2.0 追加到命令中。

  -- 例如: 更新到指定版本的PackagePM> update-package Microsoft.EntityFrameworkCore.SqlServer -Pre -Version 3.0.0-preview.18572.1    

  1.4 获取 Entity Framework Core 工具

  要安装Entity Framework Core除了在Visual Studio中(下篇介绍),还可以使用 “.NET Core 命令行接口(CLI)” 工具可用于 Windows、Linux 或 macOS。 这些命令以 dotnet ef 开头。这些命令是对跨平台扩展dotnet命令,它是一部分的.NET Core SDK。 这些工具适用于.NET Core 项目。

    首先安装最新.NET Core SDK,下载安装可以选择操作系统类型(Windows、Linux 或 macOS)。dotnet ef命令包含在.NET Core SDK,但若要启用这些命令必须安装Microsoft.EntityFrameworkCore.Design

    dotnet add package Microsoft.EntityFrameworkCore.Design

    验证安装:运行以下命令以验证正确安装 EF Core CLI 工具,下图是在windows系统中:

    关于.Net CLI工具,查看官方文档 https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet

      关于.NET Core SDK安装地址:  https://dotnet.microsoft.com/download

其它参考文献:

  关于程序包管理器控制台

    https://docs.microsoft.com/zh-cn/nuget/tools/package-manager-console

posted on 2019-01-30 10:46 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10337111.html

asp.net core 系列 19 EFCore介绍相关推荐

  1. asp.net core系列 40 Web 应用MVC 介绍与详细示例

    一. MVC介绍 MVC架构模式有助于实现关注点分离.视图和控制器均依赖于模型. 但是,模型既不依赖于视图,也不依赖于控制器. 这是分离的一个关键优势. 这种分离允许模型独立于可视化展示进行构建和测试 ...

  2. asp.net core系列 67 Web压力测试工具WCAT

    asp.net core系列 67 Web压力测试工具WCAT 原文:asp.net core系列 67 Web压力测试工具WCAT 一.介绍 最近搭建了一套CQRS框架,需要在投入开发前,进行必要的 ...

  3. asp.net core系列 38 WebAPI 返回类型与响应格式--必备

    一.返回类型 ASP.NET Core 提供以下 Web API Action方法返回类型选项,以及说明每种返回类型的最佳适用情况: (1) 固定类型 (2) IActionResult (3) Ac ...

  4. 5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」

    原文:5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」 希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢 ...

  5. ASP.NET CORE系列【一】搭建ASP.NET CORE项目

    原文:ASP.NET CORE系列[一]搭建ASP.NET CORE项目 为什么要使用 ASP.NET Core? NET Core 刚发布的时候根据介绍就有点心里痒痒,微软的尿性都懂的,新东西bug ...

  6. asp.net core 系列 18 web服务器实现

    一. ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module.该模块是插入 IIS 管道的本机 IIS 模块(本机是指 ...

  7. asp向不同的用户发送信息_【asp.net core 系列】 1 带你了解一下asp.net core

    0. 前言 这是一个新的系列,名字是<http://ASP.NET Core 入门到实战>.这个系列主讲http://ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我 ...

  8. .ne中的控制器循环出来的数据如何显示在视图上_【asp.net core 系列】3 视图以及视图与控制器...

    0.前言 在之前的几篇中,我们大概介绍了如何创建一个http://asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元.这一篇我们将介绍一下控制器与视图直接的关系. 1. ...

  9. asp.net core 系列 17 通用主机 IHostBuilder

    一.概述 ASP.NET Core 通用主机 (HostBuilder),该主机对于托管不处理 HTTP 请求的应用非常有用.通用主机的目标是将 HTTP 管道从 Web 主机 API 中分离出来,从 ...

最新文章

  1. 一杯茶的时间,上手Zabbix
  2. 解决 Iframe跨域session 丢失问题
  3. Firefox 3.6最新功能:网页可根据设备方位调整角度
  4. WINDOWS SERVER 2003从入门到精通之配置DHCP服务器(下)
  5. VS编译时output/Error list窗口自动弹出设置
  6. 微博“异地多活”部署经验谈
  7. mysql主从 毫秒_MySQL主从数据库同步延迟问题解决(转)
  8. codis codis-ha主从切换后服务器标记为offline
  9. StarlingMVC:为Starling量身打造的MVC框架
  10. linux虚拟机rzsz安装(wget方法,自测可用)
  11. 【数理逻辑四】谓词逻辑及形式系统 【中】
  12. 10首现代诗歌欣赏:什么是孤独
  13. excel如何快速自动让空白单元格填充上一行内容
  14. 电磁场与仿真软件(19)
  15. 多种数据库连接工具_20多种热门数据工具及其不具备的功能
  16. c++基本输入输出 输出不同精度的PI(程序给出的PI值为 3.14159265358979323846)。
  17. Apache Pulsar的Function流式计算框架使用
  18. 常坐飞机的你,为什么老惦记着“升舱”?
  19. 低轨通信卫星: 开启 6G 通信时代,带动千亿规模市场
  20. 微服务:MQClientException: No route info of this topic, mytopic 报错解决

热门文章

  1. jquery 搜索框自动提示
  2. MySql access denied for user错误
  3. 编码原则:意外情况的注释
  4. CentOS 6.2 虚拟机 mail邮件信息: crash:[abrt] full crash report
  5. 层层深入探究网络连接丢包之谜
  6. C++数据结构与算法(八) 队列及队列的应用
  7. 基于昇腾处理器的目标检测应用(ACL)
  8. java系列5:如何使用创建的类
  9. dHedge DAO和一些顶级基金向基金管理者投资14.5万sUSD
  10. SAP License:药店ERP系统如何实施