数据持久层框架
在.NET平臺下,關(guān)于數(shù)據(jù)持久層框架非常多,本文主要對如下幾種做簡要的介紹并推薦一些學(xué)習(xí)的資源: 1.NHibernate 2.NBear 3.Castle ActiveRecord 4.iBATIS.NET 5.DAAB 附加介紹:DLinq ? 一.NHibernate 提起NHibernate,相信大家都不陌生,NHibernate來源于非常優(yōu)秀的基于Java的Hibernate關(guān)系型持久化工具,它從數(shù)據(jù)庫底層來持久化.Net對象到關(guān)系型數(shù)據(jù)庫,NHibernate為我們完成這一切,而不用自己寫SQL語句去操作數(shù)據(jù)庫對象,所寫的代碼僅僅和對象關(guān)聯(lián),NHibernat自動產(chǎn)生SQL語句,并確保對象提交到正確的表和字段中去.大量減少開發(fā)時人工使用SQL和ADO.NET處理數(shù)據(jù)的時間. NHibernate可以幫助消除或者包裝那些針對特定數(shù)據(jù)庫的SQL代碼,并且把結(jié)果集從表格的表示形式轉(zhuǎn)換到一系列的對象去。NHibernate采用XML文件配置的方式,每一個實(shí)體類都會對應(yīng)一個映射文件,如下面的例子: 官方主頁:http://www.nhibernate.org/ 學(xué)習(xí)資源 園子里首推DDL的Blog:http://www.cnblogs.com/renrenqq/,有NHibernate文檔的中文翻譯以及DLL寫的一些非常優(yōu)秀的NHibernate文章。 大名鼎鼎的張老三:http://blog.csdn.net/billy_zh/category/22383.aspx Aero的Nhibernate學(xué)習(xí)手記系列:http://www.cnblogs.com/chwkai/category/32514.html 無心之柳的Blog也非常值得推薦:http://www.cnblogs.com/9527/ 博客園O/R Mapping團(tuán)隊:http://www.cnblogs.com/team/ORMapping.html ? 二.NBear 園子里Teddy開發(fā)的NBear大家都非常熟悉,現(xiàn)在已經(jīng)發(fā)布了3.0正式版。NBear包含的組件不僅僅是數(shù)據(jù)持久層,還包含了IOC,分布式組件和Web組件。看一下Teddy對于NBear的介紹: NBear的核心包括一個泛型、強(qiáng)類型的的ORM數(shù)據(jù)持久化接口、一組相關(guān)的Entity相關(guān)組件、高性能分布式組件、Web組件,因此: 1、NBear最適合開發(fā)各類基于ASP.NET 2.0,對性能要求較高的Web程序。NBear.Web組件提供了許多加速Web開發(fā)的組件,將使您基于標(biāo)準(zhǔn) ASP.NET方式的開發(fā)效率大大提高;同時,簡單易用、性能突出的泛型持久化支持,則將使您能夠?qū)⒏嘧⒁饬械綐I(yè)務(wù)開發(fā),同時也不會有傳統(tǒng)ORM持久化框架的性能問題和繁瑣配置需要(NBear幾乎不需手動配置,性能則接近DAAB)。 2、基于MQ和.Net Remoting的高性能分布式組件,將使您開發(fā)和維護(hù)分布式程序更加容易。一個基于NBear.IoC模塊的開發(fā)的應(yīng)用程序甚至無需重新編譯就能部屬為真正的負(fù)載均衡的分布式程序。 3、對于桌面應(yīng)用程序,NBear同樣是一個幾乎沒有什么學(xué)習(xí)曲線(多少人會為寫一個小小的日歷程序而仔細(xì)研究透徹Hibernate的參考手冊?)、實(shí)用高效的數(shù)據(jù)持久化方案。 4、隨著NBearV3帶來的全面的ORM支持、更詳細(xì)的文檔和教程,和全面的代碼生成工具,NBear也已經(jīng)可以被用于企業(yè)級程序開發(fā)。 官方首頁:http://teddyma.cnblogs.com/articles/Ilungasoft_Framework.html 學(xué)習(xí)資源 學(xué)習(xí)資源當(dāng)然首推Teddy的個人Blog:http://www.cnblogs.com/teddyma/ 博客園NB團(tuán)隊:http://nbteam.cnblogs.com/ ? 三.Castle ActiveRecord ActiveRecord是Castle中的一個子項目,現(xiàn)在的版本是RC1。它同樣是一個非常優(yōu)秀的持久層框架,在底層封裝了NHibernate,改用Attribute來代替配置文件,這樣就不用再像NHibernate那樣去編寫復(fù)雜的配置文件。 官方主頁:http://www.castleproject.org 學(xué)習(xí)資源 官方文檔:http://www.castleproject.org/activerecord/documentation/v1rc1/index.html 葉子的家:http://wj.cnblogs.com/ TerryLee的Castle開發(fā)系列: http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html Castle項目成員之一ayende的Blog:http://www.ayende.com/Blog/ ? 四.iBATIS.NET iBATIS.NET分為DataMapper和DataAccess兩部分,應(yīng)該說DataMapper是這個框架的核心,DataMapper使用XML文件來實(shí)現(xiàn)從實(shí)體到SQL statements的映射,學(xué)習(xí)起來非常簡單,是用DataMapper后,我們可以自由的使用SQL語句或者存儲過程;DataAccess允許我們通過一個簡單的接口來操作數(shù)據(jù),而不必了解底層實(shí)現(xiàn)的細(xì)節(jié)。 官方主頁:http://ibatis.apache.org/
學(xué)習(xí)資源 官方文檔:http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide 善友的iBATIS.NET開發(fā)指南系列:http://www.cnblogs.com/shanyou/archive/2006/04/29/388610.html
五.DAAB DAAB是微軟Enterprise Library中的一個應(yīng)用程序塊,能夠幫助我們實(shí)現(xiàn)通用的數(shù)據(jù)訪問,所以也把它列在這里介紹一下。DAAB使應(yīng)用程序中的數(shù)據(jù)訪問在不知道具體的數(shù)據(jù)庫系統(tǒng)的情況下進(jìn)行,相信很多朋友對DAAB都很熟性并且已經(jīng)在項目中使用,就不多介紹了,看一個簡單的代碼片斷: 官方主頁:http://msdn.microsoft.com/practices/ 學(xué)習(xí)資源 企業(yè)的幫助文檔和Hands On Lab TerryLee的Enterprise Library系列:http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html ? 附加介紹:DLinq DLinq雖然不能算是開源框架,但是說到數(shù)據(jù)持久,還是提一下比較好,DLinq是微軟下一代數(shù)據(jù)庫集成查詢語言,在這之前微軟曾經(jīng)嘗試過ObjectSpace,最后是不了了之。DLinq實(shí)現(xiàn)的方式有點(diǎn)類似于前面說過的ActiveRecord,不支持使用外部的XML配置文件,而是使用了Attribute的方式,如下代碼片斷所示: 官方主頁:http://msdn.microsoft.com/netframework/future/linq/ 學(xué)習(xí)資源 下載LINQ May CTP版:http://msdn.microsoft.com/data/ref/linq/ ScottGu的Blog:http://weblogs.asp.net/scottgu/default.aspx ? 最后值得一提的是,微軟又推出個Ado.net vNext,使用映射文件來配置,更加類似于NHibernate。關(guān)于持久層框架,還有很多,這里就不再介紹了,如Grove等。
學(xué)習(xí)資源 官方文檔:http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide 善友的iBATIS.NET開發(fā)指南系列:http://www.cnblogs.com/shanyou/archive/2006/04/29/388610.html
五.DAAB DAAB是微軟Enterprise Library中的一個應(yīng)用程序塊,能夠幫助我們實(shí)現(xiàn)通用的數(shù)據(jù)訪問,所以也把它列在這里介紹一下。DAAB使應(yīng)用程序中的數(shù)據(jù)訪問在不知道具體的數(shù)據(jù)庫系統(tǒng)的情況下進(jìn)行,相信很多朋友對DAAB都很熟性并且已經(jīng)在項目中使用,就不多介紹了,看一個簡單的代碼片斷: 官方主頁:http://msdn.microsoft.com/practices/ 學(xué)習(xí)資源 企業(yè)的幫助文檔和Hands On Lab TerryLee的Enterprise Library系列:http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html ? 附加介紹:DLinq DLinq雖然不能算是開源框架,但是說到數(shù)據(jù)持久,還是提一下比較好,DLinq是微軟下一代數(shù)據(jù)庫集成查詢語言,在這之前微軟曾經(jīng)嘗試過ObjectSpace,最后是不了了之。DLinq實(shí)現(xiàn)的方式有點(diǎn)類似于前面說過的ActiveRecord,不支持使用外部的XML配置文件,而是使用了Attribute的方式,如下代碼片斷所示: 官方主頁:http://msdn.microsoft.com/netframework/future/linq/ 學(xué)習(xí)資源 下載LINQ May CTP版:http://msdn.microsoft.com/data/ref/linq/ ScottGu的Blog:http://weblogs.asp.net/scottgu/default.aspx ? 最后值得一提的是,微軟又推出個Ado.net vNext,使用映射文件來配置,更加類似于NHibernate。關(guān)于持久層框架,還有很多,這里就不再介紹了,如Grove等。
轉(zhuǎn)載于:https://blog.51cto.com/yerik/1053631
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: Windows Server 2003显
- 下一篇: 中小企业如何用在线CRM留住客户