手把手撸套框架-ORM框架的选择

你说的曾经没有我的故事 提交于 2020-10-23 02:27:55

 

目录

 

一,为什么选择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 的搭建。点击   目录   进行跳转吧!

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!