日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

盤點10個.Net比較流行的開源的ORM框架(.net開源框架有哪些)

對于我們而言選擇ORM框架的目的,其實都是為了讓我們的程序更好的操作數(shù)據(jù)庫,提高開發(fā)編程效率和程序的維護(hù)拓展性。所以我們選擇ORM需要從項目實際業(yè)務(wù)出發(fā),選擇最合適自己團(tuán)隊的框架。

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

1、SqlSugar(國內(nèi))

  • 支持SqlServer、MySQL、PgSqlOracle插入blukcopy
  • 分表大數(shù)據(jù)自處理
  • 支持多租戶、多庫事務(wù)
  • 支持 支持 CodeFirst 數(shù)據(jù)遷移
  • 支持 Join 查詢、Union all 、SubQuery
  • 支持配置查詢
  • 支持 DbFirst 從數(shù)據(jù)庫導(dǎo)入實體類,或使用生成工具。
  • 支持一對多和多對多的導(dǎo)航屬性
  • 支持MySql、SqlServer、Sqlite、Oracle、PostgreSQL、QuestDb、ClickHouse、達(dá)夢、人大金倉、神通數(shù)據(jù)庫、瀚高、MsAccess、華為GaussDB、GBase 8s、Odbc、自定義
  • 支持 AOP 、 Diff Log 、 Query Filter

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

2、Dos.ORM(國內(nèi))

Dos.ORM于2009年發(fā)布、2015年正式開源,該組件已在數(shù)百個成熟項目中應(yīng)用。初期開發(fā)過程中吸取了NBear與MySoft的一些精華并加入新思想,之后參考EF Lambda語法進(jìn)行大量擴(kuò)展。經(jīng)過數(shù)十個版本的更新迭代發(fā)布全新v2.0版本,支持動態(tài)列/表、分庫/分表等。

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

3、Chloe(國內(nèi))

Chloe 是一個輕量級的對象/關(guān)系映射(ORM)庫。查詢接口類似于 LINQ。您可以使用 Chloe.ORM 通過 lambda 查詢 LINQ 之類的數(shù)據(jù)并執(zhí)行任何操作(查詢 | 組查詢 | 聚合查詢 | 插入 | 批量更新 | 批量刪除)。

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

4、StackExchange/Dapper(國外)

  • Dapper.EntityFramework
    • EntityFramework 的擴(kuò)展處理程序
  • Dapper.EntityFramework.StrongName
    • EntityFramework 的擴(kuò)展處理程序
  • Dapper.Rainbow
    • 在 Dapper 上實現(xiàn)的 Micro-ORM,提供 CRUD 助手
  • Dapper.SqlBuilder
    • 用于動態(tài)且可組合地構(gòu)建 SQL 查詢的組件
  • Dapper.StrongName
    • 支持 MySQL、Sqlite、SqlICE 和 Firebird 的高性能微 ORM

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

5、Entity Framework (EF)(國外)

它是微軟封裝好一種http://ADO.NET數(shù)據(jù)實體模型,將數(shù)據(jù)庫結(jié)構(gòu)以O(shè)RM模式映射到應(yīng)用程序中。

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

開發(fā)人員使用Linq語言,對數(shù)據(jù)庫操作如同操作object對象一樣省事。

EF有三種使用場景:

1、從數(shù)據(jù)庫生成Class。

2、由實體類生成數(shù)據(jù)庫表結(jié)構(gòu)。

3、通過數(shù)據(jù)庫可視化設(shè)計器設(shè)計數(shù)據(jù)庫,同時生成實體類。

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

6、NHibernate(國外)

NHibernate 是一個成熟的開源對象關(guān)系映射器,適用于 .NET 框架。它被積極開發(fā),功能齊全,并在數(shù)千個成功的項目中使用。

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

7、ServiceStack/ServiceStack.OrmLite(國外)

簡單的 .NET 的快速、、類型化的 ORM

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

8、linq2db(國外)

LINQ to DB 是最快的 LINQ 數(shù)據(jù)庫訪問庫,在 POCO 對象和數(shù)據(jù)庫之間提供了一個簡單、輕量、快速且類型安全的層。

在架構(gòu)上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因為您使用 LINQ 表達(dá)式而不是魔術(shù)字符串,同時在代碼和數(shù)據(jù)庫之間維護(hù)一個薄抽象層。您的查詢由 C# 編譯器檢查并允許輕松重構(gòu)。

但是,它不像 LINQ to SQL 或?qū)嶓w框架那么重。沒有更改跟蹤,因此您必須自己進(jìn)行管理,但從積極的方面來說,您可以獲得更多控制權(quán)并更快地訪問您的數(shù)據(jù)。

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

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

9、Massive(國外)

一個小型、快樂、動態(tài)的 .NET MicroORM

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

10、PetaPoco(國外)

  • 很小,絕對沒有依賴!
  • 異步或同步,選擇權(quán)在您。(又名異步)(V6)
  • 與嚴(yán)格未修飾的 POCO 或歸屬的幾乎 POCO 一起使用。
  • 易于配置,包括開箱即用的流暢配置。
  • 插入/刪除/更新/保存和 IsNew 的輔助方法
  • 分頁請求會自動計算出總記錄數(shù)并獲取特定頁面。
  • 簡單的交易支持。
  • 更好的參數(shù)替換支持,包括從對象屬性中獲取命名參數(shù)。
  • 通過使用 DynamicMethod 生成消除 Linq 和快速屬性分配來獲得出色的性能。
  • 查詢語言是好的 ole SQL。
  • 包括一個低摩擦的 SQL 構(gòu)建器類,使編寫內(nèi)聯(lián) SQL變得更加容易。
  • 包括 T4 模板以自動為您生成 POCO 類。(V5)
  • 用于記錄異常、安裝值轉(zhuǎn)換器和將列映射到?jīng)]有屬性的屬性的掛鉤。
  • 適用于 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 –

推薦閱讀

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
宁河县| 龙岩市| 西畴县| 尤溪县| 宿州市| 家居| 云浮市| 泰州市| 筠连县| 麻阳| 印江| 冷水江市| 洛浦县| 沿河| 黔南| 彭州市| 南溪县| 石台县| 广饶县| 旌德县| 馆陶县| 福海县| 祁东县| 石台县| 清河县| 祁连县| 疏勒县| 清镇市| 湘潭县| 海门市| 临城县| 大悟县| 湖口县| 香河县| 宜良县| 华安县| 手游| 大足县| 新邵县| 白沙| 南昌市|