当前位置: 移动技术网 > IT编程>开发语言>.net > .Net Core ORM选择之路,哪个才适合你

.Net Core ORM选择之路,哪个才适合你

2019年01月03日  | 移动技术网IT编程  | 我要评论

g4论坛,魏雪漫老公,搔首弄姿

因为老板的一句话公司项目需要迁移到.net core ,但是以前同事用的orm不支持.net core 开发过程也遇到了各种坑,插入条数多了也特别的慢,导致系统体验比较差好多都改写sql实现。

所以我打算找一款

                           性能比较好 

                           功能比较完善

                           方便以后可以切换数据库(经过我对老板的了解这个功能非常重要)

                           并且要有一定用户基础的orm 

 

参赛orm

能够参赛的orm必须要有以下个条件

第一、功能方面要比较完善

第二、github需要有一定人气并且最近有更新

第三、支持多种数据库少写sql,方便以后

 

筛选结果:

1、ef core

2、dapper+扩展

3、sqlsugar core

4、nhibernate core

5、petapoco

 

第一轮淘汰赛  我们比 人气&功能

经过对这几个orm的初步了解,对功能方面和人气方面进行了初步评分

1、ef core     人气10,功能10

2、dapper+扩展  人气10,功能9

3、sqlsugar core  人气7,功能10

4、nhibernate core 人气7,功能10 

5、petapoco 人气6,功能6

经过第一轮帅选,我淘淘汰了petapoco orm

 最重要的是这个orm定位比较尴尬 ,功能一般并且扩展插件也比较稀少。现有功能以拼sql为主满足不了我以后切换数据库的需求,第一轮淘态。

 

第一轮得分排名

1、ef core 胜出     

2、dapper+扩展   胜出 

3、sqlsugar core  ,nhibernate core 胜出 

4、petapoco 淘汰

 

第二轮淘汰赛 我们比易用性

写太牛逼的功能并不是我们所考虑的,需要上手快好用,于是我针对项目中几个需求点进行了上手测试,并给出了评分

1、ef core  10   轻松满足

2、dapper+扩展   8  需要找插件比较费时间

3、sqlsugar core 10   轻松满足

4、nhibernate core  1 完全不会用

 

第二轮得分排名

1、ef core,sqlsugar core   胜出     

2、dapper+扩展   胜出 

3、nhibernate core  淘汰 

 

能够通过精心挑选并且进入前3名,相信这3个orm都有他们独自的魅力

 

第三轮淘汰赛 我们比性能

经过对 批量插入、单条插入、批量更新、单条更新、条件查询、多选删除等几种常用场景的并发测试

我意外的发现sqlsugar性能比dapper更加的优秀,ef core垫底

第三轮得分排名

1、sqlsugar core   胜出     

2、dapper+扩展   胜出 

3、ef core  淘汰 

通过上面各种环节我们可以发现,我都会淘汰每场比赛表现最差者,因为我想找一个比较平衡的orm用于项目,不想有短腿。

 

决赛 我们比大家的建议

目前dapper+扩展和sqlsugar core  这2个orm是最适合我们的团队的,同事之间也各有说词,暂且平手吧。明天我们公司会在进行讨论。写个博文让大家给给建议,进行最终定夺。

下面是这2款orm地址:

dapper

https://github.com/stackexchange/dapper

https://github.com/tmsmith/dapper-extensions

sqlsugar

https://github.com/sunkaixuan/sqlsugar

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网