.NET(C#)主流的ORM框架


.NET(C#)主流ORM總攬

SqlSugar (國內)

Dos.ORM (國內)

Chloe (國內)

StackExchange/Dapper (國外)

Entity Framework (EF) (國外)

NHibernate (國外)

ServiceStack/ServiceStack.OrmLite (國外)

linq2db (國外)

Massive (國外)

PetaPoco (國外)

SqlSugar

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


特點:


開源、免費

國內開發者開發、維護;

支持.NET Core;

支持主流數據庫,如:SQL Server,MySql,Oracle,Sqlite等;

維護更新及時


PetaPoco

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


特點:


開源、免費


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總攬SqlSugar (國內)Dos.ORM (國內)Chloe (國內)StackExchange/Dapper (國外)Entity Framework (EF) (國外)NHibernate (國外)ServiceStack/ServiceStack.OrmLite (國外)linq2db (國外)Massive (國外)PetaPoco (國外)SqlSugarSqlSugar是國人開發者開發的一款基於.NET的ORM框架,是可以運行在.NET 4.+ & .NET CORE的高性能、輕量級 ORM框架,眾多.NET框架中最容易使用的數據庫訪問技術。

特點:

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

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

特點:

開源、免費

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

推薦等級:★★★★☆

Dos.ORMDos.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.OrmLiteServiceStack.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分離出來。


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

特點:

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


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


分享到:


相關文章: