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