開局篇:ORM之選擇——輕量級ORM:PetaPoco/NPoco


作為C/S架構下的老碼農(開發工具:PowerBuilder,年齡:30+),學習.net是一件很痛苦的事情。至於為什么痛苦,我只想用兩位大牛說的話來總結:

1.尼爾·波茲曼:媒介即隱喻。http://www.21ccom.net/articles/sxpl/sx/article_2011022030205.html

2.Joshua Bloch:選擇編程語言就像選擇酒吧。http://www.programmer.com.cn/4353/

雖然很痛苦,但是為了孩子的奶粉和老婆的笑臉,必須堅持下去。

好,下面進入正題。

 

對於我關注的MIS程序而言,第一要考慮的問題就是與數據庫的交互。這方面在PB中根本就不是事,因為PB提供了並僅提供了一種與數據庫直接交互的形式——內置了對SQL的支持,簡單高效。無論Selet、Update、Insert、Delete,還是對存儲過程、事務的支持,都無需也無法選擇。

而在.net下,或許為了語言的純粹性,對SQL的支持變成了變種的LinQ,而與數據庫的交互,變得五花八門。大體三種選擇:

1.重量級ORM——EF、NHibernate等。

2.輕量級ORM——PetaPoco/NPoco、Dapper等。

3.無ORM——各種Helper、微軟企業庫等。

 

其中的各種優缺點對比啥的我就不奢談了,只說下我為什么選擇PetaPoco/NPoco:

1.完整的Poco(簡單CLR對象)級別的ORM。

2.可直接寫SQL。

3.提供CRUD、分頁等幫助方法。

4.提供SQL Builder方法。

5.內置T4模板。

……

 

選擇PetaPoco之后,我又進一步選擇了PetaPoco的一個發行版NPoco,原因:

1.支持單表多主鍵。——貌似PetaPoco不支持。

2.支持LinQ。——雖然我目前用不上,但是據說“實現IRepository”需要。雖然我目前還不明白IRepository這種編程方法。

 

既選之,則安之。在可預見的將來,在ORM方面,本博將以NPoco為主。

 

努力吧!騷年!!!

 


免責聲明!

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



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