EF Core 一、重识 EF
重识EF
EF Core 学习资料:https://docs.microsoft.com/zh-cn/ef/core/dbcontext-configuration/
本为作为EF Core学习的开始,只是简单聊下EF Core,以及一些开发上的问题
这里重点描述几个重点:
1.EF Core 是 .Net 再跨平台趋势下的新的ORM框架,也必然是趋势;(并非EF不能用了)
2.EF Core 3.1 通过使用 .NET Standard 2.0 在 .NET Core 和 .NET Framework 上运行。 但 EF Core 5.0 不会在 .NET Framework 上运行
3.Entity Framework 6 (EF6) 是专为 .NET Framework 设计的对象关系映射器,但支持 .NET Core。 EF6 是一款受支持的稳定产品,但我们不再对其进行积极开发
然后其他的就是功能特征上的具体差异,可以参考上述连接中地址具体来查看(https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/);
现在业务系统中基本都在使用ORM框架,为什么要使用EF Core?
1.可以一定程度上节省生产力,不必从 ADO.NET 从头开始
现在回想起来,确实发展好快,刚开始都是自己完全手写,从DbConnection,DbCommand,DataAdapter等。
还记得那常用的五个对象吗?
欢迎大家一起来怀旧,觉得代码敲着敲着时间就过去了。。。
2.更好的多数据库支持
如果业务要切换数据库,那有ORM框架的一定相对来说会轻松点,否则底层全部SQL会改死人,要么系统中原来就做好了兼容,准备了多套SQL,这个代价我觉得比用ORM要大得多了
公司的业务系统也面临切换数据库的考验,后面也会和大家来交流这方面内容
3.更加注重业务领域的搭建,不必太过关注数据库
这个ABP框架也是类似的思想(ABP是我另外一个系列的内容,可以去看看)
一、来看下EF以及EF Core受支持的应用以及环境:
可以看到,EF Core 可以运行于多个框架之上,包括Net Core,Net Framework,UWP(Universal Windows Platform Windows通用应用平台)等;通过依托于Net Core,就可以实现跨平台了,当然还是上面提到的 EF Core 5.0 不会再 .Net Framework上面运行,这点大家要清楚哦
二、EF的开发方式:
| 序号 | 类型 | EF Core | EF |
|---|---|---|---|
| 1 | DB First | 支持 | 支持 |
| 2 | Code First | 支持 | 支持 |
| 3 | Model First | 不支持 | 支持 |
重点说明:EF Core不支持Model First,其实Model Frist我基本没怎么使用,只是当初学习的时候接触过,后面基本没怎么使用。。。
三、EF Core支持的数据库类型:

目前支持的数据库? ..... 当然不是,这个基本是支持的版本,如果要查看目前版本支持的数据,请查看连接 https://docs.microsoft.com/zh-cn/ef/core/providers/?tabs=dotnet-core-cli;

题外话,记得Core刚开始的时候,我们当时有个业务系统是Oracle的,但是整体迁移到Core之后发现竟然没有Oracle的连接程序,当时有SqlServer.ManagedDataAccess等,就是没有 Oracle 的支持,所以但是自己写了一个,可以在 Nuget上下载使用 'Citms.Oracle.ManagedDataAccess',还是有几千个下载量,说明微软还是太慢了,开始竟然不支持Oracle ..... 你们有遇到哪些坑 .....
如果大家想要发布一个自己的Nuget包,请参考我其他系列文章哦,来分享自己好用的包
目前Core对数据访问的支持还是不错的,所以很多公司的业务也都开始往Core迁移,针对迁移类的业务,Ef Core也有相关的资料指引;
https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/porting/
针对原来EF中Model First,以及Code First的方式进行了阐述说明,来指引进行代码业务的移植;还是蛮贴心的 ....
最近公司的系统升级重构,也是会涉及到老系统的迁移,也是老大难的问题,希望后面能在这方面来点突破,不扯远了 ....
今天是EF Core系列的开始,后续会开始分享交流具体的使用,希望大家一起来参与O
EF Core 一、重识 EF的更多相关文章
- [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
- EF Core的安装、EF Core与数据库结合
一.新建一个.net core的MVC项目 新建好项目后,不能像以前一样直接在新建项中添加ef, 需要用命令在添加ef的依赖 二.EF Cor ...
- EF Core 二 、 入门 EF Core
入门EF Core 我们将开始真正的EF之旅了,这里使用SqlServer数据,然后DbFirst: 为嘛使用SqlServer,目前公司的整体业务全部在SqlSever,所以很多产品业务都是依托于这 ...
- 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家
在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互.这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能.EF团队甚至从Entity Framewo ...
- EF Core 的 Code First 模式
0 前言 本文正文第一节,会对 Code First 进行基本的介绍,以及对相关名词进行说明,读者一开始可以不用在这里消耗过多时间,可以先操作一遍例子,再回过头理解. 第二节,以一个简单的例子,展示 ...
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...
- asp.net core+ef core
asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一 ...
- EF Core in Action 中文翻译 第一部分导航
Entityframework Core in action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core ...
- [翻译 EF Core in Action 1.11] 何时不应该使用EF Core
Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...
随机推荐
- linux centos 04
1.python的虚拟环境 1.将当前机器上的解释器作为一个 本地,复制出的很多歌 虚拟解释器 物理机上的 本体解释器 ,什么事也不做 分身1: 解释器1:虚拟环境1 运行django 1 ...
- IDEA SpringBoot+JPA+MySql+Redis+RabbitMQ 秒杀系统
先放上github地址:spike-system,可以直接下载完整项目运行测试 SpringBoot+JPA+MySql+Redis+RabbitMQ 秒杀系统 技术栈:SpringBoot, MyS ...
- linux(centos8):用tr替换或删除字符
一,tr命令的用途 tr命令可以替换或删除文件中的字符 它从标准输入设备读取数据, 处理完成将结果输出到标准输出设备 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnbl ...
- zookeeper在生产环境中的配置(zookeeper3.6)
一,zookeeper中日志的配置 1,快照文件snapshot的目录: dataDir=/data/zookeeper/data 存储快照文件snapshot的目录.默认情况下,事务日志也会存储在这 ...
- python操作excel xlwt (转)
Python中xlrd和xlwt模块使用方法 阅读目录 安装 xlrd模块使用 xlwt模块 xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 回到顶部 安装 ? ...
- Ambari仓库安装教程
Ambari仓库安装教程 如果用户需要后续使用Ambari server进行安装Hadoop则必须搭建一个内部的yum源,否则直接下载速度将会很慢,当然该服务仅要搭建一个即可,可以一直使用. 一.Ce ...
- java安全编码指南之:ThreadPool的使用
目录 简介 java自带的线程池 提交给线程池的线程要是可以被中断的 正确处理线程池中线程的异常 线程池中使用ThreadLocal一定要注意清理 简介 在java中,除了单个使用Thread之外,我 ...
- 【git冲突解决】: Please commit your changes or stash them before you merge.
刚刚使用 git pull 命令拉取代码时候,遇到了这样的问题: error: Your local changes to the following files would be overwritt ...
- Vue富文本编辑器(图片拖拽缩放)
富文本编辑器(图片拖拽缩放) 需求: 根据业务要求,需要能够上传图片,且上传的图片能在移动端中占满屏幕宽度,故需要能等比缩放上传的图片,还需要能拖拽.缩放.改变图片大小.尝试多个第三方富文本编辑器,很 ...
- 字节跳动2020Java面经,你离高薪就只差一片面试题了
前言 经历了惨痛的春招与秋招之后,也积攒了一些面经,希望能对大家有所帮助.由于字数限制需要答案的可以关注GZH[程序员空间] 免费领取完整版PDF 其他 什什么是幂等?什什么情况下需要考虑幂等?你怎么 ...
