一.概述

  目前最新的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
-- NuGet
install-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 追加到命令中。

  -- 例如: 更新到指定版本的Package
PM> update-package Microsoft.EntityFrameworkCore.SqlServer -Pre -Version 3.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

最新文章

  1. Azure 上通过 SendGrid 发送邮件
  2. ASP.NET从MVC5升级到MVC6 RC2 总目录 - 发布在RC2Release之后
  3. UVALive - 4108 SKYLINE[线段树]
  4. tyvj1202 数数食物链
  5. linux 下mysql的安装,并设置必要的密码
  6. 网页中插入QQ在线功能
  7. 转载__Activity的启动模式
  8. 用ASP生成RSS
  9. 认识<img>标签,为网页插入图片
  10. CRectTracker类的使用--橡皮筋窗口
  11. CentOS常用到的查看系统命令
  12. 函数之DisString
  13. SQL中with(nolock)作用说明
  14. 调整分区大小 转载--------------http://blog.csdn.net/perfectzq/article/details/73606119
  15. CDOJ 1960 构造哈密顿路径
  16. 潭州课堂25班:Ph201805201 django 项目 第四十二课 后台 课程相关,用户组管理 (课堂笔记)
  17. 深度解析vuex
  18. feign接口调用异常的解决方向
  19. python全栈学习1.开课介绍
  20. python第三十二课——栈

热门文章

  1. 2018-2019 20165235 网络对抗 Exp5 MSF基础
  2. redis的两种安装方法
  3. php 设计模式(转)
  4. swool配置ssl
  5. Python ftplib模块
  6. 图形上下文导论(Introduction to SWT Graphics)zz
  7. dotnetcore Http服务器研究(一)
  8. springmvc是如何工作的
  9. 关于外网无法访问阿里云主机CentOs
  10. django+javascrpt+python实现私有云盘