日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NHibernate概括

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NHibernate概括 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?什么是?NHibernate?NHibernate是一個面向.NET環境的對象/關系數據庫映射工具。

對象/關系數據庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基于SQL的關系模型數據結構中去。

 什么是ORM?對象-關系映射(Object/Relation Mapping。簡稱ORM),是隨著面向對象的軟件開發方法發展而產生的。面向對象的開發方法是當今企業級應用開發環境中的主流開發方法。關系數據庫是企業級應用環境中永久存放數據的主流數據存儲系統。對象和關系數據是業務實體的兩種表現形式,業務實體在內存中表現為對象,在數據庫中表現為關系數據。內存中的對象之間存在關聯和繼承關系,而在數據庫中,關系數據無法直接表達多對多關聯和繼承關系。因此。對象-關系映射(ORM)系統一般以中間件的形式存在,主要實現程序對象到關系數據庫數據的映射。

  

  面向對象是從軟件project基本原則(如耦合、聚合、封裝)的基礎上發展起來的,而關系數據庫則是從數學理論發展而來的。兩套理論存在顯著的差別。

為了解決這個不匹配的現象,對象關系映射技術應運而生。   

NHiberante的優缺點

長處

  (1).面向對象:NHiberante的使用時僅僅須要操縱對象。使開發更對象化,拋棄了數據庫中心的思想,全然的面向對象思想。

  (2).透明持久化:帶有持久化狀態的、具有業務功能的單線程對象,此對象生存期非常短。這些對象可能是普通的POCO。這個對象沒有實現第三方框架或者接口,唯一特殊的是他們正與(只一個)Session相關聯。一旦這個Session被關閉,這些對象就會脫離持久化狀態。這樣就可被應用程序的不論什么層自由使用。

(比如,用作跟表示層打交道的傳輸數據對象。

  (3).它沒有侵入性,即所謂的輕量級框架。

正由于它具有透明持久化的長處。它才沒有侵入性。才是一個輕量級框架。

恒定一個框架為重量級、還是輕量級,是依據其侵入性而定奪的。而NHibernate就是一個輕量級ORM框架。

  (4).較好的移植性:支持多種數據庫。便于數據庫的遷移。

  (5).緩存機制:提供一、二級緩存和查詢緩存。

  (6).開發效率:眾所周知,使用NHibernate能夠簡化程序開發,從而達到高速開發的目的。作為軟件公司,項目管理的關鍵就是控制開發成本。正由于使用NHibernate后所寫的代碼量降低了,相對于原先使用“SqlHelper、DAL、BLL”開發程序的項目周期縮短了,成本就降低了。

?

缺點

  (1).內存消耗:直接使用“SqlHelper、DAL、BLL”無疑是最省內存的。使用NHibernate后。內存開銷比較大。這點是毋庸置疑的。

  (2).批量數據庫的處理:因為NHibernate是基于面向對象的ORM框架。處理數據庫的方式是針對單個對象的。

對數據庫的增、刪、改都是正對一條記錄而言。對于批量改動、刪除數據。不適合用NHiberante。這也是全部OR框架弱點。其原因,我覺得是在于與緩存機制的沖突。

  (3).較多使用數據庫特性時。也不適合使用NHiberante。

如數據庫中大量的存儲過程、觸發器、特點的SQL語句。

  (4).表關系比較混亂時也不適合使用NHiberante。

NHibernate僅僅適合于表與表的關系比較明白的環境中。

如本應該建立外鍵的。沒有建立外鍵。這時使用NHiberante不僅沒有降低工作量。反而添加了工作量。

  (5).學習成本:相對于NHibernate來說,使用“SqlHelper、DAL、BLL”操作數據庫,學習成本比較低,并且上手非常快。使用NHibernate須要有一定OOP(面向對象編程)和OOD(面向對象設計)的基礎。這對于基礎薄弱的程序猿來說,從面向過程的編程到面向對象的編程。須要一定的投入;普通情況下須要學習1個月左右的時間才可以深入NHiberante。


總結

以上是生活随笔為你收集整理的NHibernate概括的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。