首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

作者:fly-小文子

链接:https://www.cnblogs.com/kuangliwen/p/10210638.html

因为老板的一句话公司项目需要迁移到.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

●编号217,输入编号直达本文

●输入m获取文章目录

推荐↓↓↓

运维

更多推荐《25个技术类微信公众号》

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190110B0KBDM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券