.Net Core ORM

無論選擇什麼樣的框架,我們都希望項目 性能比較好 、 功能比較完善、 方便以後可以切換數據庫、並且要有一定用戶基礎的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章