盤點10個.Net比較流行的開源的ORM框架

對於我們而言選擇ORM框架的目的,其實都是為了讓我們的程式更好的操作資料庫,提高開發程式設計效率和程式的維護拓展性。所以我們選擇ORM需要從專案實際業務出發,選擇最合適自己團隊的框架。

下面推薦10個主流比較流行的ORM框架,都是開源的專案:

1、SqlSugar(國內)

支援SqlServer、MySql、PgSql和Oracle插入blukcopy

分表大資料自處理

支援多租戶、多庫事務

支援 支援 CodeFirst 資料遷移。

支援 Join 查詢、Union all 、Subquery

支援配置查詢

支援 DbFirst 從資料庫匯入實體類,或使用生成工具。

支援一對多和多對多的導航屬性

支援MySql、SqlServer、Sqlite、Oracle、postgresql、QuestDb、ClickHouse、達夢、人大金倉、神通資料庫、瀚高、MsAccess、華為GaussDB、GBase 8s、Odbc、自定義

支援 AOP 、 Diff Log 、 Query Filter

開源地址:https://github。com/donet5/SqlSugar

2、Dos.ORM(國內)

Dos。ORM於2009年釋出、2015年正式開源,該元件已在數百個成熟專案中應用。初期開發過程中吸取了NBear與MySoft的一些精華並加入新思想,之後參考EF Lambda語法進行大量擴充套件。經過數十個版本的更新迭代釋出全新v2。0版本,支援動態列/表、分庫/分表等。

開源地址:https://github。com/itdos/Dos。ORM

3、Chloe(國內)

Chloe 是一個輕量級的物件/關係對映(ORM)庫。查詢介面類似於 LINQ。您可以使用 Chloe。ORM 透過 lambda 查詢 LINQ 之類的資料並執行任何操作(查詢 | 組查詢 | 聚合查詢 | 插入 | 批次更新 | 批次刪除)。

開源地址:https://github。com/shuxinqin/Chloe

4、StackExchange/Dapper(國外)

Dapper。EntityFramework

EntityFramework 的擴充套件處理程式

Dapper。EntityFramework。StrongName

EntityFramework 的擴充套件處理程式

Dapper。Rainbow

在 Dapper 上實現的 Micro-ORM,提供 CRUD 助手

Dapper。SqlBuilder

用於動態且可組合地構建 SQL 查詢的元件

Dapper。StrongName

支援 MySQL、Sqlite、SqlICE 和 Firebird 的高效能微 ORM

開源地址:https://github。com/DapperLib/Dapper

5、Entity Framework (EF)(國外)

它是微軟封裝好一種http://ADO。NET資料實體模型,將資料庫結構以ORM模式對映到應用程式中。

EF提供變更跟蹤、唯一性約束、惰性載入、查詢事物等。

開發人員使用Linq語言,對資料庫操作如同操作object物件一樣省事。

EF有三種使用場景:

1、從資料庫生成Class。

2、由實體類生成資料庫表結構。

3、透過資料庫視覺化設計器設計資料庫,同時生成實體類。

開源地址:https://github。com/dotnet/ef6

6、NHibernate(國外)

NHibernate 是一個成熟的開源物件關係對映器,適用於 。NET 框架。它被積極開發,功能齊全,並在數千個成功的專案中使用。

開源地址:https://github。com/nhibernate/nhibernate-core

7、ServiceStack/ServiceStack.OrmLite(國外)

簡單的 。NET 的快速、、型別化的 ORM

開源地址:https://github。com/ServiceStack/ServiceStack。OrmLite

8、linq2db(國外)

LINQ to DB 是最快的 LINQ 資料庫訪問庫,在 POCO 物件和資料庫之間提供了一個簡單、輕量、快速且型別安全的層。

在架構上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因為您使用 LINQ 表示式而不是魔術字串,同時在程式碼和資料庫之間維護一個薄抽象層。您的查詢由 C# 編譯器檢查並允許輕鬆重構。

但是,它不像 LINQ to SQL 或實體框架那麼重。沒有更改跟蹤,因此您必須自己進行管理,但從積極的方面來說,您可以獲得更多控制權並更快地訪問您的資料。

換句話說LINQ to DB 是型別安全的 SQL。

開源地址:https://github。com/linq2db/linq2db

9、Massive(國外)

一個小型、快樂、動態的 。NET MicroORM

開源地址:https://github。com/FransBouma/Massive

10、PetaPoco(國外)

很小,絕對沒有依賴!

非同步或同步,選擇權在您。(又名非同步)(V6)

與嚴格未修飾的 POCO 或歸屬的幾乎 POCO 一起使用。

易於配置,包括開箱即用的流暢配置。

插入/刪除/更新/儲存和 IsNew 的輔助方法

分頁請求會自動計算出總記錄數並獲取特定頁面。

簡單的交易支援。

更好的引數替換支援,包括從物件屬性中獲取命名引數。

透過使用 DynamicMethod 生成消除 Linq 和快速屬性分配來獲得出色的效能。

查詢語言是好的 ole SQL。

包括一個低摩擦的 SQL 構建器類,使編寫內聯 SQL變得更加容易。

包括 T4 模板以自動為您生成 POCO 類。(V5)

用於記錄異常、安裝值轉換器和將列對映到沒有屬性的屬性的掛鉤。

適用於 SQL Server、SQL Server CE、MS Access、SQLite、MySQL、MariaDB、Firebird 和 PostgreSQL。(Oracle 支援但沒有整合測試)。

在 Net Standard 2。0、。NET 4。0/4。5+ 或 Mono 2。8 及更高版本下工作。

有Xunit單元測試。

已支援 DBs 整合測試。

開源地址:https://github。com/CollaboratingPlatypus/PetaPoco

- End -

TAG: ORM開源httpsgithubcom