1、介紹的內容 1、感謝園友的文章支持 by 李永京 by wolfy 2、Nhibernate的框架介紹 3、Nhibernate的架構介紹 4、Nhibernate映射方法介紹(該點自己也存在一定的疑問,如果有知道的園友請指正) 2、參考文章 由於英語一向都不太好,雖然最近在改進ing,可是讓我 ...
1、介紹的內容
1、感謝園友的文章支持 by 李永京 by wolfy
2、Nhibernate的框架介紹
3、Nhibernate的架構介紹
4、Nhibernate映射方法介紹(該點自己也存在一定的疑問,如果有知道的園友請指正)
2、參考文章
由於英語一向都不太好,雖然最近在改進ing,可是讓我看英文的文檔還是會存在一定的問題,所以這裡非常感謝之前園友對NHibernate的研究並且記錄,以下是我主要參考的兩位園友的文章
http://www.cnblogs.com/lyj/archive/2008/10/10/1308267.html 李永京大神的文章
http://www.cnblogs.com/wolf-sun/p/4138918.html wolfy的文章
3、項目準備
VS2013、oracle11g、Nhibernate
4、Nhibernate的框架介紹
NHibernate是一個面向.NET環境的對象/關係資料庫映射工具。對象/關係資料庫映射(object/relational mapping,ORM)這個術語表示一種技術,用來把對象模型表示的對象映射到基於SQL的關係模型數據結構中去。
在今日的企業環境中,把面向對象的軟體和關係資料庫一起使用可能是相當麻煩和浪費時間的。而NHibernate不僅僅管理.NET類到資料庫表的映射(包括.NET 數據類型到SQL數據類型的映射),還提供數據查詢和獲取數據的方法,可以大幅度減少開發時人工使用SQL和ADO.NET處理數據的時間。
NHibernate的目標主要是用於與數據持久化相關的編程任務,能夠使開發人員從原來枯燥的SQL語句的編寫中解放出來,解放出來的精力可以讓開發人員投入到業務邏輯的實現上。對於以數據為中心的程式,開發人員往往是在資料庫中使用存儲過程來實現商業邏輯,這種情況下NHibernate可能不是最好的解決方案,但對於那些基於.NET,並且能夠實現OO業務模型和商業邏輯的中間層應用,NHibernate是最有用的。NHibernate可以幫助用戶消除或者包裝那些針對特定廠商的SQL代碼,並且幫用戶把結果集從表格式的表示形式轉換成一系列的對象。
NHibernate 是一個基於.Net 的針對關係型資料庫的對象持久化類庫。NHibernate 來源於非常優秀的基於Java的Hibernate 關係型持久化工具
5、Nhibernate的架構介紹(這塊就直接copy 李永京大神的)
你知道NHibernate到底什麼樣子?下麵我摘取官方文檔中的三幅不同的結構圖稍做說明。
第一幅圖:NHibernate體繫結構非常抽象的概覽
這幅圖展示了NHibernate在資料庫和應用程式之間提供了一個持久層。
第二幅圖:輕量級體系,應用程式自己提供ADO.NET連接,並且自行管理事務。
第三幅圖:重量級體系:所有的底層ADO.NET API都被抽象了。
6、Nhibernate映射方法介紹(該點自己也存在一定的疑問,如果有知道的園友請指正)
介紹:對象和關係資料庫之間的映射是用一個XML文檔(XML document)來定義的(這個是一個基礎)。那麼我們基於這個基礎來講下如何更加便捷的進行映射。
1、第一階段:通過自己編寫xml文檔進行映射 (這種方法適合新入門的聯繫)
2、第二階段:通過代碼生成工具進行映射(請園友知道的列下工具,因為之前公司用的是定製化開發出來的生成工具的)
3、第三階段:通過FluentNHibernate進行再代碼中進行關係映射
4、第四階段:通過ConfORM工具進行 該介紹在李永京的文章中可以找到 (我也不太瞭解)
暫時只有這四部分,如果有其他的方法,請園友提供指正,現階段Nhibernate的文章基本都是2013年之前的,參考的價值只能適用入門。網上的實例文章跨度介紹,實在讓人有些迷糊。所以想寫一篇最近的文章出來,讓大家一起討論,一起進步。
畢竟流水線一樣工作了5年,最後發現自己什麼都沒學到。