重识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的更多相关文章

  1. [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  2. EF Core的安装、EF Core与数据库结合

    一.新建一个.net core的MVC项目                         新建好项目后,不能像以前一样直接在新建项中添加ef, 需要用命令在添加ef的依赖      二.EF Cor ...

  3. EF Core 二 、 入门 EF Core

    入门EF Core 我们将开始真正的EF之旅了,这里使用SqlServer数据,然后DbFirst: 为嘛使用SqlServer,目前公司的整体业务全部在SqlSever,所以很多产品业务都是依托于这 ...

  4. 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家

    在EF Core 5中,有很多方式可以窥察工作流程中发生的事情,并与该信息进行交互.这些功能点包括日志记录,拦截,事件处理程序和一些超酷的最新出现的调试功能.EF团队甚至从Entity Framewo ...

  5. EF Core 的 Code First 模式

    0 前言 本文正文第一节,会对 Code First 进行基本的介绍,以及对相关名词进行说明,读者一开始可以不用在这里消耗过多时间,可以先操作一遍例子,再回过头理解. 第二节,以一个简单的例子,展示 ...

  6. 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 ...

  7. asp.net core+ef core

    asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一 ...

  8. EF Core in Action 中文翻译 第一部分导航

    Entityframework Core in action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core ...

  9. [翻译 EF Core in Action 1.11] 何时不应该使用EF Core

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

随机推荐

  1. Presto在滴滴的探索与实践

    ​桔妹导读:Presto在滴滴内部发展三年,已经成为滴滴内部Ad-Hoc和Hive SQL加速的首选引擎.目前服务6K+用户,每天读取2PB ~ 3PB HDFS数据,处理30万亿~35万亿条记录,为 ...

  2. 智能指针(1)-std::unique_ptr

    std::unique_ptr std::unique_ptr是一种几乎和原始指针一样高效的智能指针,对所管理的指针资源拥有独占权.由C++11标准引入,用于替代C++98中过时的std::auto_ ...

  3. github 如何解决error: failed to push some refs

    错误 error: failed to push some refs to 'https://github.com/whitclass/scrapy-spider.git' hint: Updates ...

  4. centos8平台安装ansible2.9

    一,ansible的用途: ansible是基于python开发的自动化运维工具, 它基于SSH远程连接服务, 可以实现批量系统配置.批量软件部署.批量文件拷贝.批量运行命令等多个运维功能 因为基于s ...

  5. Java9系列第6篇-Stream流API的增强

    我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 ...

  6. Postgres 10.11安装教程

    Postgres搭建 考虑到Drone和Sonarqube等都需要借助Postgres存储,为了保证CI服务的高效的工作,将考虑独立其中依赖的数据库,避免在繁忙时占用过多资源从而影响整体CI的速度. ...

  7. Iobuffer的使用

    写模式: 创建Iobuffer实例,使用Iobuffer的static方法-allocate,有一个参数的方法或者两个参数,第一个参数capacity是指定创建的Iobuffer的容量的最大值,需要注 ...

  8. .Net Core API 发布到IIS后,如何配置SSL详细步骤

    一.首先,我们要将API发布到IIS,不脱机工作.但是这里会有问题,调用接口时,会返回 也就是说,我们需要配置SSL.接下来我们就来详细说明. 二.域名商提供SSL证书审核. 我的域名提供商是腾讯,直 ...

  9. Redis集群环境搭建实践

    0 Redis集群简介 Redis集群(Redis Cluster)是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能.相比于主从复制.哨兵模式, ...

  10. 前端在开发过程中怎么提高网站的seo?

    前端开发过程中怎么提高网站的seo? 到写这篇博客为止,我还没有做过需要做seo的项目,也不知道怎么前后端合作(我才毕业工作一年左右,往后会多去学习这方面知识的),通过一些配置来提高网站的seo性能. ...