深圳电子商务网站有哪些,阿里巴巴1688采购平台官网,wordpress怎么添加二级链接,建立自己的公司网站本期导读#xff1a;技术文#xff0c;带你了解关于EntityFrameworkCore3.x的那些事#xff0c;本文共1493个字#xff0c;阅读大约需要3分钟。文末福利不要错过哦#xff01;是的各位.Neter#xff0c;不用怀疑#xff0c;使用O/RM的开发者越来越多了#xff0c;从风起… 本期导读技术文带你了解关于EntityFrameworkCore3.x的那些事本文共1493个字阅读大约需要3分钟。文末福利不要错过哦是的各位.Neter不用怀疑使用O/RM的开发者越来越多了从风起云涌的各式O/RM框架都可见一斑了。以下是我用过的一些。NHibernateSqlSugar Dos.ORMDapper PetaPocoEntityFramework EntityFrameworkCore其中NHibernate是我使用过的第一个O/RM框架开始惊艳慢慢乏味轻量级的Dapper也深受喜爱。奈何我是微软忠粉从最早的未完成产品LinqToSql追到EntityFramework的N个版本然后终于在.NetCore里面寻到了我想要的O/RMEntityFramworkCore3.1(后续简称EFCore)。下面我认真给.Neter们科普下EFCore的新东西相信你也会爱上的。1 直面O/RM性能差说到O/RM很多人会嗤之以鼻性能差这是真的吗所谓ORM,其实就是用面向对象的思想来封装对数据库的访问操作能以操作对象的方式来完成数据库的操作。开发者不用关心数据库甚至可以完全不用写Sql确实是件好事儿那为啥会说性能差呢成也萧何败也萧何正是因为自动化了数据库操作该过程是僵硬的会导致在复杂的数据库环境下无法保障性能。但这怪O/RM框架吗一方面O/RM设计的目标只是简化Sql另一方面来说使用O/RM性能差更多是使用的问题而不是框架的问题。没有低性能的框架只有不会用的开发者当然优秀的框架是能让开发者更简单更高效EFCore里面就有多个跟性能相关的新特性一起来看看2 EFCore前世今生2008年发布了EntityFramework第一个版本3.5到2017年发布的6.2.0最新版本累计发布了16个正式版本常规O/RM框架能做的事儿EF也已经做得非常优秀了。而EFCore则是站在巨人的肩膀上的当下最新版本EFCore3.1还包含了多个前所未有的新特性可谓是开发者福音(为配合.Net5EFCore下一个版本也叫EFCore5)1Sql索引支持数据查询时通过控制linq语句顺序可以做到走索引现在EFCore在Code Fitst时在ModelCreating里面可以直接配置非聚集索引了主键还是默认聚集索引的。担心O/RM性能的小伙伴儿有必要来好好看看。2数据库读写分离支持读写分离是中大型项目必备了EFCore本身可以通过option来支持轻松实现单Context连接多数据库完成数据库读写分离支持。不过在实际开发中我更愿意封装一层ContextFactory来管控还能做到复杂均衡。3便携数据库迁移项目开发中数据库结构的变更一般都是脚本支持面对数据结构结构的的变更数据的升级只能编写复杂的Sql脚本老师就有过惨痛的经历。而EFCore彻底解决了这个问题每次数据库结构的变化都可以保存一个数据库迁移文件迁移文件轻松生成数据库。每个迁移文件对应数据任何时期都可以根据对应的迁移文件生成数据库。1EFCore内置Api直接生成数据库一次配置轻松生成2EFTool工具迁移数据库生成迁移文件再生成数据库3dotNet命令迁移生成迁移文件生成数据库4内置数据转换器使用O/RM开发的小伙伴儿基本上都离不开AutoMapper因为总会有些数据在存储和程序中的类型不一致现在EFCore中直接内置了数据转换器还支持自定义模式原生支持让性能更高使用更轻松5各种数据库支持EFCore基本上已经覆盖了市面上全部的主流关系型数据库甚至还支持了内存数据库。一招鲜可以吃遍天了简直了~ 说到封装框架我不是针对谁微软独一档下面是整理的详细清单以上是EFCore中相对其他O/RM框架的一些新特性和优势此外要在开发中应用好EFCore还有蛮多需要学习的比如数据初始化、Linq查询、复杂查询、延迟加载、惰性加载、级联删除、内置假删除还有分布式环境下的数据一致性分布式事务等等都是不可或缺的。这里给大家推荐一个EFCore专题课一周特训各种知识点一网打尽原价288元课程本公众号粉丝限时免费直接扫码进专用学习交流群福利福利福利按照惯例再给大家来些福利了。本次专题是Asp.NetCore3.1EFCore实战需要配套的知识点很多下面整理了一套预习资料包括有我之前一套手写O/RM框架的源码值得看看赶紧扫码领取哈。