??? NHibernate,我們先看BAIDU上的說法:
????Hibernate是一個目前應用的最廣泛的開放源代碼的對象關系映射框架,它對Java的JDBC(類似于ADO.Net)進行了非常輕量級的對象封裝,使得程序員可以隨心所欲的使用對象編程思維來操縱數據庫,目前在國內Java開發界已經頗為流行,Hibernate+Spring往往是很多Java公司招聘的要求。而NHibernate,顧名思義,如同NUnit,NAnt一樣,是基于.Net的Hibernate實現,但是目前介紹NHibernate的資料非常少,缺少一個系統完整的教程來全面的展現和深入NHibernate,而且現在NHibernate的文檔又殘缺不全,少的可憐,很多NHibernate的學習者往往都是通過Hibernate的文檔來學習,但是畢竟不是所有的.Net開發者都熟悉Java,也不是所有的人都有精力有時間去學習Java,所以,我準備開始一個Step by Step的NHibernate教程,以便有興趣的朋友能夠快速的熟悉NHibernate,能夠更快地體驗NHibernate的開發樂趣。
NHibernate 是一個基于.Net 的針對關系型數據庫的對象持久化類庫。Nhibernate 來源于非常優秀的基于Java的Hibernate 關系型持久化工具。 (以上引用
http://baike.baidu.com/view/954535.htm?fr=ala0
)
NHibernate 從數據庫底層來持久化你的.Net 對象到關系型數據庫。NHibernate 為你處理這些,遠勝于你不得不寫SQL去從數據庫存取對象。你的代碼僅僅和對象關聯,NHibernat 自動產生SQL語句,并確保對象提交到正確的表和字段中去。
????? 我不懂Hibernate,我也不懂NHibernate 。從大學出來,我一直用的是LLBLGen這個工具,從網上的介紹來看,兩者是差不多的。但是LLBLGen不是開源的,而且還是一個收費的產品。LLBLGen是一個專門針對net 數據庫開發的產品。除了Hibernate 開源的優點它沒有之外,其它的優點了都有了。
????? LLBLGen在互聯網上,我學的時候網我還真不到中文的教程,只有一些相關的介紹罷了。到我寫的這個為止,也沒能找到中文教程。或許它的作者出個中文教程,對開開拓中國市場將會有很大的幫助。
????? 我用了兩年多的LLBLGen,我只說我的感覺:
????? 1、如果你常用它,你會忘記SQL怎么樣寫。
????? 2、它把業務邏輯層,表示層,物理存儲分得是一目了然。
????? 3、用它寫的程序,你一句SQL都不用出現在你的程序上。
????? 4、非常的面向對象,這是當初給我的第一感覺。
????? 說點壞的:
????? 5、當數據量大時,效率明顯比ado.net直接寫下降很多。
????? 6、復雜一點的SQL想用它來表示,估計你得花很長的時間。如果是ado.net ,那肯定不存在這個問題。
????? 7、對存儲過程的效果好像不是很好。你很難將存儲過程用它來現到窗體上。
????? 或許我說少了好處,也可能說少了壞處。
????? 它生成的文檔,每一個實體作為一個類,類里面的方法是很豐富的,你能想到的,它都有了。
????? 用它的關聯來操作數據庫,很省事,比如保存任意的一個表,這個表有很多的子表,那么,只要主表save一次,子表也自動跟著搞定了。所有的表的保存,都可以一個方法就可以搞定了。表的操作就簡單了,這是ado.net無法相比的。刪除也一樣。
可以很大程度上減輕工作量。我們還可以修它生成代碼的模版,生成我們自己想要的代碼。關于大量數據處理的問題,改善的辦法還是有的,但是有點麻煩。(完)
?????? 下一篇,將介紹如何使用它來生成代碼
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
