商务服务
SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比
2024-11-04 21:01

:ORM(Object-relational
mapping)即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。也就是说,ORM是通过使用描述对象和数据库之间映射的元数据(映射文件信息,将程序中的对象自动持久化到关系数据库中。说白了就是将相应的实体映射到相应的数据库表,然后使用orm框架封装好的api进行数据库访问,减少了自己写数据库访问类的步骤。

SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比

2、ORM框架的优缺点是

ORM框架的优点

  • 操作简单,提高开发效率
  • 支持面向对象封装
  • 可移植
  • 减少重复性代码

ORM框架的缺点

  • 处理多表联查之类的查询时,ORM的语法会变得很复杂
  • 执行性能较低(但现在有一些轻型ORM框架,性能接近原生SQL
框架/对比属性SqlSugarDos.ORMFreesqlEFCodeFirst支持数据库类型MySql、SqlServer、Sqlite、Oracle 、 postgresqlMySql、SqlServer、Sqlite、Oracle 等数据库MySql、SqlServer、Sqlite、Oracle 、postgresqlMySql、SqlServer、Sqlite、Oracle 、 postgresql支持的平台版本.net和net core.net和net core.net和net core.net和net core团队规模公司性质公司性质个人微软体积895k(下载后package的大小)607k(下载后package的大小)558k(下载后package的大小)17.8M文档帮助较全(install后,就可以直接使用了)一般(但是很多细节的东西并没有告知用户,例如需要通过代码生成器生成的实体类才能与数据库进行映射)较全(install后,创建数据库即可直接使用)较全(无论是微软官方还是百度谷歌,用的人比较多,遇到问题容易)与数据库交互方式支持dbfirst、codefirst支持dbfirst支持dbfirst、codefirst支持codefirst(当前使用的是code first,也可支持dbfirst)学习成本低一般低较高(刚开始使用会遇到许多的bug,虽然网上都有解决方法,但是学习起来没前几种容易

如下表格,展示的是四种ORM框架Crud的性能,其中

(1)增查删改都是循环5次,每次增删改1万条数据,查询是每次查询10万条数据,取5次的平均值

(2)批量增删改都是循环5次,每次增删改10万条数据,取5次平均值

类别/框架名称Freesql(单位:秒)DOS.ORM(单位:秒)EF(Code First)(单位:秒)SqlSugar(单位:秒)新增(Insert)13.906313.5712273.56312.4268删除(Delete)13.668813.336665.132812.4202修改(Update)14.370414.330654.02112.084查询(Select)1.75020.23080.54860.1416批量新增(BulkInsert)1.4382秒20.6162秒27.6674秒1.4286秒批量修改(BulkUpdate)3.5988秒(不足以用来参照,看下面注解)22.6556秒22.1634秒3.8188秒批量删除(BulkDelete)0.7504秒(不足以用来参照,看下面注解)只能批量删除2009条,超过就报错20.336秒0.7034秒

由上表可知,各种框架CRUD的性能如下(由快到慢

(1)循环CRUD操作的性能如下

新增:SqlSugar>DOS.ORM>Freesql>EF

删除:SqlSugar>DOS.ORM>Freesql>EF

修改:SqlSugar>DOS.ORM>Freesql>EF

查询:SqlSugar>DOS.ORM>EF>Freesql

综上可知:SqlSugar框架的CRUD性能是最高的,其中EF除了查询比较快之外,删改所花费的时间都是其他三种框架的4~5倍,而新增就是20倍左右

(2)循环批量CRUD的性能如下

批量新增:Freesql=SqlSugar>DOS.ORM>EF

批量修改:Freesql=SqlSugar>EF>DOS.ORM

批量删除:Freesql=SqlSugar>EF

注解1:Freesql是有批量新增的方法BulkInsert,故其批量新增操作与其他框架一样。但是,Freesql没有批量修改、删除的方法,如下代码片段

注解2:DOS.ORM批量删除超过2009条数据时就会报错,如下图

综上,只有SqlSugar涵盖的方法比较多,而且速度也较快!

功能/框架FreesqlDOS.ORMEFSqlSugar增删查改支持支持支持支持批量增删改支持支持支持支持事务、存储过程、日志支持支持支持支持lamdba、执行SQL支持支持支持支持linq支持不支持支持不支持多表查询、分组查询支持支持支持支持全局过滤器支持不支持支持支持联表子查询不支持不支持支持支持查询返回格式一般一般比较多比较多

:四种框架都支持

基本查询、多表查询、分组查询、批量增删改操作、存储过程、事务、执行SQL、日志等功能。

:个人比较推荐SqlSugar,原因如下

(1)只要下载了SqlSugar包后,就可以直接按照官网的例子进行编码,日志跟踪方面我认为是最简单已用的,且文档写得比较好、可由代码生成数据库,可以快速上手。

(2)Freesql与SqlSugar差不多,但是由于我觉得SqlSugar日志跟踪方面做得比较好且可以由代码生成数据库,且Freesql对批量操作的支持不是很好,只能批量新增(且没有返回值,不能批量删除、修改,所以我才选择SqlSugar

(3)Dos.ORM是这三个框架里面最不好上手不能直接自己创建类文件,而是需要下载官网推荐的代码生成器去生成相应的类,然后才能进行数据库的访问,否则插入删除等操作都会报错,所以就个人而言,不推荐用这个,认为学习成本比其他两个高。

    以上就是本篇文章【SqlSugar、Freesql、Dos.ORM、EF、四种ORM框架的对比】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/news/13764.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多   
最新新闻
二胎概念火了!任泽平:未来四胎五胎可能给奖励
  人口政策问题再次广受关注。  昨日晚间,央行微信公众号发布题为《关于我国人口转型的认识和应对之策》的工作论文,聚焦了
全球下载量突破20亿时TikTok遭遇“围剿”,张一鸣对公司员工说了啥
抖音短视频国际版TikTok近日在美国的遭遇不断反转、不断刷新。虽然特朗普对其封禁令尚未最终拍板,但TikTok在海外年轻人中的火爆
如何查询手机流量?查询手机流量方法教学
  手机是一个我们现在广泛使用的电子产品,我们除了利用手机进行通话之外,最多的就是利用手机上网了。如果想要利用手机上网的
孙楠:希望自己的音乐带给观众快乐
  中新网杭州6月25日电 (胡小丽 刘文彬)1990年,孙楠发行了首张个人专辑《弯弯的月亮》,从此走上职业歌手的道路。到今天,已
【夜读】7条成长建议,送给正在努力的你
01改变自己会痛苦,不改变自己会吃苦不抗拒改变、不用陈旧的方式去处理新问题,是一个人走向成熟的标志。很多时候,只是一个细节
tiktok前身是什么发展历史,一文带你了解tiktok发展历程
在互联网发展如此迅速的今天,各种的媒体社交改变了我们的生活,带来了更多的便利条件,让我们了解这个周围以及世界的最新咨询。
中考倒计时,科学备考秘籍请收好
  本报记者潘洁婷通讯员王晓敏  今年是“双减”政策实施以来的首次中考,距离2022年中考还有不足一个月时间。备考冲刺阶段,
千万粉丝!他突然全网被封
近日,在抖音拥有1800多万粉丝的倪海杉账号被平台封禁。关于倪海杉账号被封原因,网络上有多种猜测。另外,倪海杉在快手上拥有50
全新 Model 3 发布!内外饰全面焕新,屏幕换挡进入全民时代
6年前,特斯拉为 Model 3的亮相开了一场盛大的发布会,特斯拉首席执行官、首席设计官悉数到场。Model 3是公司当前的头等要事。马
一部具有重大警世意义和很高文学价值的力作——评屈全绳的长篇小说《鹅头岭》
作者:汪守德一按一般人的想象,有着数十年从军经历的老将军,离休之后不再为公务缠身,不再因百事纠结,或写一点回忆录之类的轻
本企业新闻
推荐企业新闻

点击拨打: