MicroOrm.Net和現有ORM產品的對比


MicroOrm.Net主頁:

http://code.google.com/p/micro-orm-net/

MicroOrm.Net系列隨便目錄總覽:

http://www.cnblogs.com/mapserver/archive/2012/04/07/2436129.html

 

我寫了一個系列的文章來介紹MicroOrm.Net,期間不斷有同學來打擊我,說沒有特色,說是重復造輪子,我在寫系列文章的開篇,就說了我不打算去和任何產品進行比較,但是很多同學都是眼睛一瞄就開始輕易的下定論,所以我覺得還是來詳細說明MicroOrm.Net產生的背景以及和現有的ORM進行一個簡單比較。

 

MicroOrm.Net是我現在產品中用到的一個ORM產品,產品立項初期在ORM的選擇上,也是費了很多時間,但是最后決定來自己寫。在MicroOrm.Net 1.0 beta出來后,使用起來感覺還不錯,於是有了開源的想法,也算為同學們做點貢獻。

 

MicroOrm.Net的特色:

1、可以不定義強類型Model;當然也支持強類型的Model:

var od = db.OrderDetail.Query()
        .Where(db.OrderDetail.OrderId == "001")
        .First();
string orderId = od.OrderId;
int qty = od.Qty;

 

2、不用去定義Model和Model之間的Mapping

3、在多個表關聯查詢,每個表中取部分列來做返回結果時,不用像傳統的ORM那樣,需要一個Model去關聯另一個Model,關聯了一大堆的Model;而在MicroOrm.Net里,一切都可以用Select子句來搞定

4、拋棄上下文

5、大量使用動態對象,一切都是那么隨心所欲

6、MicroOrm.Net源代碼很小(代碼量應該在3K~4K行左右,我沒有去統計),自己修改和定制很簡單

 

VS EF & NHibernate & iBatis

1、MicroOrm.Net和EF、NHibernate不在一個數量級上

2、EF、NHibernate都必須定義Model,都必須去Mapping(不管是xml方式,還是代碼方式),這也是MicroOrm.Net產生的一個最重要的原因

3、龐大

4、性能問題

5、NHibernate、iBatis配置復雜

 

VS Dapper.Net

Dapper.Net性能很好,但是需要自己來寫Sql語句,對支持多數據庫很累

 

VS Simple.Data

Simple.Data是一個很不錯的項目,我在寫MicroOrm.Net打算用它,我詳細的閱讀了他的源代碼,也做了大量的測試,但是最后放棄了

1、代碼復雜

2、方法太靈活,比如查詢,有很多中查詢方式,在MicroOrm.Net里,所有的查詢都統一的Query方法上了

3、Bug問題


免責聲明!

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



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