手把手撸套框架-ORM框架的选择
一,为什么选择SqlSugar?
在.net core ORM框架中,能选择的方案其实有很多,包括以下方案:
1,EF-Core
2,Dapper
3,FreeSql
4,SqlSugar
为什么最后选择了Sqlsugar 呢? 一个个来说,
首先是:EF-core。
EF-core 一开始想法也是担心性能问题,大概在7年前 有尝试过一次EF,深深被EF的性能所折服
实在是太慢了,当然做一些小型项目,EF当然是体现不出性能差距的,但是谁又知道自己的“小项目”哪天不会随着
业务的发展变成“大项目” 呢? 所以,一开始对EF 以及EF-Core 没有好感,不过后来看了,EF-Core的官网介绍,
感观上发生了很大的变化, 总的来说就是:EF 和 EF-Core 完全是两个东西。
更准确的说是:.net Core 和 .net Famework 完全是两个东西。 这么说吧, .net Core在性能上完全不怂 java,go,python,php
任何一种语言,再说.net 性能不好的,可以啪啪打脸了。
但是,我还是首先淘汰了,EF-Core。原因是,查百度各种ORM都拿EF-core 做性能测试,可以参考以下连接:
参考:https://www.cnblogs.com/kellynic/p/10557882.html
虽然,EF-Core 性能跟EF 不能同日而语,但是,网上黑EF-Core性能不好的,还是大把。
Dapper说:比其他ORM都快,尤其比EF-core快!
FreeSql说:比其他ORM都快,尤其比EF-core快!
SqlSugar说:比其他ORM都快,尤其比EF-core快!
难免让人感觉,选什么都好,就是不能选EF-Core。所以第一淘汰EF-core, 但是我还是想说:EF-core真的不慢!
EF-Core 官网:https://docs.microsoft.com/zh-cn/ef/core/get-started/?tabs=netcore-cli
其次就是:Dapper
Dapper,可以说是轻量级ORM的王者,用户群体也多,是我的第二选择,但是也是第二个被淘汰的。
原因很简单,官网打卡太慢了,而且英文网站查起来费劲。
哈哈,其实这根本算不得一个理由,但是要知道,其实我是第一次使用ORM框架,(以前开发框架是基于ADO.Net的纯sql框架)
好吧,我算是老古董了,关于我的经历可以看 目录 中的前言有讲,所以我需要一个可以快速上手,方便查询的ORM。
所以,我淘汰了Dapper。
Dapper官网:https://dapper-tutorial.net/dapper
再来是:FreeSql
关于FreeSql,说来也巧。FreeSql的开发者跟我在一个.net 交流群里,陆陆续续都有聊过天,但是我不知道他是FreeSql的开发者,
准确来说,我一直不知道FreeSql 这个东西,当我在群里说在选择一个ORM 开发框架的时候,他死命的推荐我用FreeSql, 人就是这样
也死命推荐我用,我越是不想搞,所以先天的产生了逆反的心理状态,我看了几篇关于FreeSql 的的文章之后,其实感觉FreeSql还是非常不错的,
另外,FreeSql 也将代码捐献给我了 Core 中国 开源社区。
.net Core 开源中国社区:https://github.com/dotnetcore
我还是满佩服他的,搞出这么大个东西,还要坚持维护,不过我还是淘汰FreeSql了。最终理由是,书写的风格不没有Sqlsugar好。
不过FreeSql 是开源的,这个非常重要。
FreeSql官网:https://github.com/dotnetcore/FreeSql/
最后是:SqlSugar
按上面的先后顺序,SqlSugar是我排最后的,反倒最后被我选用了,理由只有一个:足够简单。
当然,看我前面的淘汰理由,基本上毫无标准可言,全凭个人喜好。要知道,个人喜好就是唯一标准,对我来说
上手要快,开箱即用。Dapper ,EF-Core 其实都足够简单,尤其是EF-core,官方的文档相当齐全,视频更是讲的非常细致
最后,发现视频,文档 那么多,上手不够快呀,打卡SqlSugar是官网,上面一下就吸引我了,“一分钟入门”,“两分钟深入”,“三分钟高手”。
所以,最后就选定了SqlSugar。
SqlSugar官网:http://www.codeisbug.com/Doc/8
总结: 其实在性能上,都差不太多,不要老说EF-core慢 或者 哪个哪个快的,最关键是.net Core 快就行了。剩下的比拼就是个人对于上手的理解速度
以及代码的书写风格。这就是我最后选择SqlSugar 的原因。 都不慢,都挺好。
下一篇, SqlSugar 的搭建。点击 目录 进行跳转吧!
手把手撸套框架-ORM框架的选择的更多相关文章
- 手把手撸套框架-Victory框架1.1 详解
目录 上一篇博客 Victory框架1.0 详解 有说道,1.0的使用过程中出现不少缺点,比如菜单不能折叠,权限没有权限组等等. 所以,我还是抽出时间在下班后,回到我的小黑屋里 完成了1.1的升级. ...
- 手把手撸套框架-Victory框架1.0 详解
目录 其实Victory框架1.0 在8月份就完成了,整个9月份都没有更新博客,主要还是因为松懈了. 所以,趁着国庆节的放假的时间把博客给更新一下,1.0总的来说算不得一个成熟的产品,但是拿来开发我们 ...
- 干货--手把手撸vue移动UI框架: 滑动删除
前言 前几天因为项目需要,用jquery写了一个swiperOut组件,然后我就随便把这个组件翻译成基于Vue的了,有兴趣的朋友可以看下.Github源码(不麻烦的话帮忙start,请各位大爷赏个星星 ...
- 自定义ORM框架(转转)
ORM背景 在数据库界,主流的数据库都是关系型数据库,其采用的关系型数据结构模型,无论从数学上还是实践中都相当的成熟,得到非常广泛的应用.在关系型数据结构理 论中,所有的数据都组织成一个个相互独立的二 ...
- Django框架之数据库ORM框架
首先,我来介绍一下什么是ORM框架: O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思.在ORM框架中,它帮 ...
- 手撸ORM浅谈ORM框架之Query篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- Mego(03) - ORM框架的新选择
前言 从之前的两遍文章可以看出ORM的现状. Mego(01) - NET中主流ORM框架性能对比 Mego(02) - NET主流ORM框架分析 首先我们先谈下一个我们希望的ORM框架是什么样子的: ...
- 手撸ORM浅谈ORM框架之基础篇
好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...
- 手撸ORM浅谈ORM框架之Add篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
随机推荐
- cb02a_c++_数据结构_顺序容器_STL_list类_双向链表
/*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...
- C# 实现定时/循环任务
用C#实现定时/循环任务,需要使用到Quartz,在项目的NuGet包管理中可以找到并添加.一般还会伴随安装一个Log4Net,主要用它来记录在任务执行过程中遇到的问题.这边主要是讲实现定时/循环任务 ...
- MySQL语句的使用
进入数据库 mysql -u root -pmysql (u用户名,p密码)#如果不想让其他人看到就直接一个p然后回车再打密码 select version(); 查看数据库版本 sele ...
- Meteva——让预报检验不再重复造轮子
更多精彩,请点击上方蓝字关注我们! 检验是什么?****预报准确率的客观表达 说到天气预报,你最先会想到什么? 早上听了预报,带了一天伞却没下一滴雨的调侃? 还是 "蓝天白云晴空万里突然暴风 ...
- xutils工具上传日志文件--后台服务器的搭建
在上一篇文章中使用xutils将手机上保存的日志上传到后台服务器中,现在我们来讲后台服务器是如何搭建的 后台服务器采用jsp+sevlet+mysql的框架 首先讲mysql数据库的表的建立 在fil ...
- Android Studio 插件 ADBWifi 无线调试真机
长话短说,步骤如下 Android Studio 安装插件 ADB Wifi.这一步可以选择AS->Settings->Plugins->Market搜索:或者可以选择去插件官网下载 ...
- dart快速入门教程 (1)
1.环境搭建 1.1.dart简介 Dart 是一种 易于学习. 易于扩展.并且可以部署到 任何地方 的 应用 编程 语言.Google 使用 Dart 来开发 大型应用.flutter使用dart语 ...
- 表达式计算开源组件(NCalc.NetCore)
首先,这款组件是开源的,NCalc是.net中的一个数学表达式求值程序.NCalc可以解析任何表达式并计算结果,包括静态或动态参数和自定义函数. 官网地址:http://ncalc.codeplex. ...
- SpringCloud之OpenFeign
SpringCloud之openFeign Spring Cloud的子项目之一,Spring Cloud OpenFeign以将OpenFeign集成到Spring Boot应用中的方式,为微服务架 ...
- mssql 手工注入流程小结
对于MSSQL的注入点,无外乎这三种权限:SA,DB_OENER,PUBLIC.SA(System Admin)权限我们可以直接执行命令,DB_OENER权限的话,我们可以找到WEB的路径,然后用备份 ...