Mego(03) - ORM框架的新選擇


前言

從之前的兩遍文章可以看出ORM的現狀。

  1. Mego(01) - NET中主流ORM框架性能對比
  2. Mego(02) - NET主流ORM框架分析

首先我們先談下一個我們希望的ORM框架是什么樣子的:

  1. 基於ORM原理其性能一定不如手寫SQL,但是可以有一定程度損失這就像C++和NET/JAVA的關系一樣,所以性能不能太差。
  2. CLR模型可以和數據庫對象結構高度一致,在大型項目中大家應該有過滿世界找某表在哪里有用過,某個字段是否可以刪除,某個字段是否可以改名的經歷。手寫SQL的代碼對項目重構是個極大的挑戰。
  3. ORM模型可以幫助維護數據庫結構版本,相信有不少項目團隊都需要手寫數據庫表的升級腳本。
  4. 可以用LINQ表達出大部分的業務增刪改查,當然不可能全部做到,即使是手寫SQL也有做不到的(例如大數據統計分析),我覺的可以有10%以內的復雜SQL手寫。

可能許多開發者都會有找過讓自己比較滿意的ORM框架,我也是其中之一,在漫長的信息系統設計及開發工作中,一直希望能有一個功能強大性能不錯的ORM框架。一直都很關注 EntityFramework 的版本升級,不過后來也很失望,它的發展太慢了。無論是EntityFramework 還是EntityFrameworkCore 都包含了微軟的商業競爭的成分。當然期間也嘗試過各種其他的ORM框架,都有各種各樣的不足,這里就不一一列舉了。

新選擇

在各種糾結中於是誕生了這個新的ORM框架,我取名叫【Mego】,之所以叫這個名稱是由於它包含了本框架的運作原理如下所示,取各個單詞的首字母而得:

Metadata -> Expression -> Generate -> Object

元數據     -> 表達式        -> 生成         -> 數據對象

對於這個框架的定位是要在 功能和性能 兩個方面取代 EntityFrameworkEntityFrameworkCore 。性能在第一篇博客中已經說明了目前已經超過了它們兩個,功能上后續會寫出這三個框架的功能對比。

簡介

 Mego是一個高性能且功能強大的ORM框架,它基於 EntityFramework 和 EntityFrameworkCore 這兩個著名的ORM框架吸收了其中優秀理念,借鑒了其中的許多的功能設計,完全支持LINQ寫法,多數據庫支持,支持NET3.5到目前最新NET及NETCore所有包含分布式事務的NET框架。為了讓初學者易於上手及使用,我們最外層的API大部分與 EntityFramework 相同,如果有EF使用經驗的人應該會很快上手。

我已經在Github上開源了Mego框架的源代碼,歡迎大家給出改進意見。

支持NET版本

本框架支持下列NET版本及后續版本。

  1. .NETFramework, Version = v3.5
  2. .NETFramework, Version = v4.0
  3. .NETFramework, Version = v4.5
  4. .NETStandard, Version = 2.0

Mego 開發文檔

Mego Development documents

聲明:由於之前寫的比較匆忙,因此重新整理,Mego開發文檔已統一移動到上面這個鏈接中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM