推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

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

   日期:2024-11-04     作者:caijiyuan    caijiyuan   评论:0    移动:http://keant.xrbh.cn/news/13764.html
核心提示:答:ORM(Object-relational mapping)即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技

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

本文地址:http://lianchengexpo.xrbh.cn/news/13764.html    迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多
 
标签: 框架
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号