1. 程式人生 > >手把手擼套框架-ORM框架的選擇

手把手擼套框架-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 的搭建。點選   目錄   進行跳轉吧!