.NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF仍是...

前言

在之前的一篇文章中,爲你們分享了《什麼是ORM?爲何用ORM?淺析ORM的使用及利弊》。那麼,在目前的.NET(C#)的世界裏,有哪些主流的ORM,FreeSql,SqlSugar,Dapper,Entity Framework(EF)仍是ServiceStack.OrmLite?或者是你還有更好的ORM推薦呢? 若是有的話,不防也一塊兒分享給你們。git

.NET(C#)主流ORM總攬

今天這篇文章分享幾款收集的目前.NET(C#)中比較流行的ORM框架,好比(如下框架均爲開源框架,託管於github上):github

  • FreeSql (國內)
  • SqlSugar (國內)
  • Dos.ORM (國內)
  • Chloe (國內)
  • StackExchange/Dapper (國外)
  • Entity Framework (EF) (國外)
  • NHibernate (國外)
  • ServiceStack/ServiceStack.OrmLite (國外)
  • linq2db (國外)
  • Massive (國外)
  • PetaPoco (國外)

FreeSql

FreeSql是一個功能強大的NETStandard庫,用於對象關係映射程序(O/RM),以便於開發人員可以使用 .NETStandard 對象來處理數據庫,沒必要常常編寫大部分數據訪問代碼。sql

特性

  • 開源、免費。
  • CodeFirst 遷移。
  • DbFirst 從數據庫導入實體類,支持三種模板生成器。
  • 採用 ExpressionTree 高性能讀取數據。
  • 類型映射深刻支持,好比pgsql的數組類型,堪稱匠心製做。
  • 支持豐富的表達式函數。
  • 支持導航屬性查詢,和延時加載。
  • 支持同步/異步數據庫操做方法,豐富多彩的鏈式查詢方法。
  • 支持事務。
  • 支持多種數據庫,MySql/SqlServer/PostgreSQL/Oracle/Sqlite。

推薦等級:★★★★★數據庫

github:https://github.com/2881099/Fr...數組

SqlSugar

SqlSugar是國人開發者開發的一款基於.NET的ORM框架,是能夠運行在.NET 4.+ & .NET CORE的高性能、輕量級 ORM框架,衆多.NET框架中最容易使用的數據庫訪問技術。緩存

特色:

  • 開源、免費
  • 國內開發者開發、維護;
  • 支持.NET Core;
  • 支持主流數據庫,如:SQL Server,MySql,Oracle,Sqlite等;
  • 維護更新及時

推薦等級:★★★★☆安全

PetaPoco

PetaPoco:輕量的POCO對象和數據庫映射的ORM框架。數據結構

特色:

  • 開源、免費

推薦等級:★★★★☆app

linq2db

linq2db也是一款快速、輕量、類型安全的POCO對象和數據庫映射的ORM框架。從構架上來講,linq2db是對好比:Dapper、PetaPoco這個的微ORM的進一步封裝,但它不像Entity Framework那樣笨重。它沒有實現狀態跟蹤,須要本身處理實體的狀態更改等。框架

推薦等級:★★★★☆

Dos.ORM

Dos.ORM(原Hxj.Data)於2009年發佈,2015年正式開源。在開發過程當中參考了NBear與MySoft,吸收了他們的一些精華,加入新思想,同時參考EF的Lambda語法進行大量擴展。該組件已在數百個成熟項目中應用。官方網站:http://ITdos.com/Dos/ORM/Inde...

特色:

  • 開源、免費
  • 上手簡單,0學習成本。使用方便,按照sql書寫習慣編寫C#.NET代碼。功能強大
  • 高性能,接近手寫Sql
  • 體積小(不到150kb,僅一個dll)
  • 完美支持Sql Server(2000至最新版),MySql,Oracle,Access,Sqlite等數據庫
  • 支持大量Lambda表達式寫法,國產ORM支持度最高,開源中國ORM排行前三
  • 不須要像NHibernate的XML配置,不須要像EF的各類數據庫鏈接驅動
  • 遵循MIT開源協議,除不容許更名,其它隨意定製修改

推薦等級:★★★☆☆

ServiceStack.OrmLite

ServiceStack.OrmLite的目標是提供一種方便,無干擾,無配置的RDBMS無關類型的封裝,與SQL保持高度的契合,展示直觀的API,能夠生成可預測的SQL。
ServiceStack.OrmLite的宗旨:Fast, Simple, Typed ORM for .NET

特色:

  • 開源、收費(免費版只支持單個庫10張表)

推薦等級:★★★☆☆

Entity Framework (EF)

ADO.NET Entity Framework 是微軟以 ADO.NET 爲基礎所發展出來的對象關係對應 (O/R Mapping) 解決方案。該框架曾經爲.NET Framework的一部分,但version 6以後從.NET Framework分離出來。

推薦等級:★★★☆☆

NHibernate

NHibernate是一個面向.NET環境的對象/關係數據庫映射工具。對象/關係數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關係模型數據結構中去。

特色:

  • 開源、免費
  • 批量寫入
  • 批量讀/多重查詢特性(我理解是在說Future?)
  • 批量的集合加載
  • 帶有lazy="extra"的集合
  • 集合過濾器和分頁集合
  • 二級緩存(實際上NH的二級緩存貌似也很簡單?)
  • 集成和擴展性
  • 代碼自動生成,減小代碼和sql的開發量,使開發人員擺脫開sql,ado.net和事務,緩存等底層

推薦等級:★★★☆☆

Massive

Massive:小巧,動態的微ORM框架。

推薦等級:★★★☆☆


以上是筆者收集整理的部分目前.NET(C#)中流行的ORM框架。

若是你還有其餘更好的ORM,歡迎留言,交流。

若是你以爲本文對你或者他人有幫助,請點個贊吧。

相關文章
相關標籤/搜索