• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        實(shí)戰(zhàn) .Net 數(shù)據(jù)訪問層 - 1

        實(shí)戰(zhàn) .Net 數(shù)據(jù)訪問層 - 1

        更新時(shí)間:2022-04-27 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        實(shí)戰(zhàn) .Net 數(shù)據(jù)訪問層



        l 特別說明

        本篇實(shí)戰(zhàn)共分23段,非作者有意如此,乃受CSDN發(fā)表文章之64K所限。

        雖然有幾段根本沒有達(dá)到64K,但估計(jì)是HTML Source超過了這個(gè)范

        圍,所以也不得不單獨(dú)分段(大都是源代碼),請(qǐng)大家諒解。

        如果有朋友需要完整文檔,請(qǐng)發(fā)郵件給我:

        mailto:xuefeng.zhang@bearingpoint.com

        l 引言

        這次的討論是上一部分“剖析 .Net 下的數(shù)據(jù)訪問層技術(shù)”的一個(gè)續(xù),但也可獨(dú)立成章,為突出主題,作者就特意換了一個(gè)標(biāo)題。



        關(guān)于上次的內(nèi)容,大家可以參考如下鏈接:

        http://www.csdn.net/Develop/read_article.asp?id=26689(一共六篇,id從26689到26694。也可以通過dev.csdn.net -> Windows/.NET進(jìn)行訪問)



        在以下論述中,為統(tǒng)一起見,作者暫時(shí)將數(shù)據(jù)訪問層簡稱為DAL(Data Access Layer)。而在“我的方案”中,作者會(huì)介紹另一個(gè)“DAL”(Data Access Logic),為避免歧義,所有Data Access Logic將保留全名,不再采用簡稱。



        需要特別說明的是,以下列出的代碼全部基于.NET Framework 1.2實(shí)現(xiàn),您也可以在.NET Framework 1.1上進(jìn)行模擬,但某些ADO.NET 2.0中的更新內(nèi)容可能無法使用,如:ObjectSpaces,DbDataReader等。

        您可以通過兩種方法使用.NET Framework 1.2:

        (1) 安裝Whidbey(Beta)或者Visual Studio .NET 2005(Preview),這是最簡單的方法;

        (2) 安裝.NET Framework 1.2 Runtime(Redistributables),使用Visual Studio .NET 2003(不支持Vistual Studio .NET 2002)進(jìn)行開發(fā)。這種方式需要注意兩點(diǎn):

        i. 對(duì)于Windows Application,在App.config中進(jìn)行如下設(shè)置:

        <configuration>

        <startup>

        <supportedRuntime version="v1.2.30703"/>

        </startup>

        </configuration>

        對(duì)于Web Application,不需要進(jìn)行什么設(shè)置,在安裝完.NET Framework 1.2 Runtime后已經(jīng)自動(dòng)添加了對(duì)IIS的支持;

        ii. 雖然可以通過Visual Studio .NET 2003編譯支持.NET Framework 1.2的項(xiàng)目,但是調(diào)試功能將不起任何作用(哪位朋友知道如何解決這個(gè)問題?)!

        另外,.NET Framework 1.2 Runtime也可以通過安裝Microsoft Yukon(Beta)自動(dòng)得到。



        Ok,言歸正傳,以下部分就是我的方案。



        l 我的方案

        上次的討論主要集中在現(xiàn)有的技術(shù),同時(shí),也對(duì)不同技術(shù)在實(shí)現(xiàn)DAL時(shí)的差異做了一些分析,綜合下來,無非就是這么幾種:

        (1) ADO.NET

        ADO.NET是當(dāng)前階段使用.NET進(jìn)行DAL開發(fā)的基本方式,這里的DAL,也包括了對(duì)ADO.NET進(jìn)行封裝后提供更簡單調(diào)用的各類實(shí)現(xiàn),經(jīng)典例子如:Duwamish,PetShop等;

        (2) O/R Mapping

        由于.NET Framework 1.2/2.0還未正式Release,包含其中的ObjectSpaces技術(shù)暫時(shí)還未能成為在.NET下進(jìn)行DAL開發(fā)的首選武器,但是,隨著各類ORM Framework的逐漸成熟以及一些開發(fā)廠商的不斷努力,這方面正呈現(xiàn)出茁壯成長的勢頭;

        (3) X/Y Mapping

        這里的X/Y Mapping是指除了上述O/R Mapping之外的其它各類Data Mapping,如:XML to Relation Mapping,Relation to XML Mapping,Object to XML Mapping等,這部分內(nèi)容不是本文重點(diǎn),作者將另辟專文討論;

        (4) Distributed Process

        嚴(yán)格來說,這個(gè)并不是真正意義上的DAL技術(shù),充其量只算錦上添花。不過,正因?yàn)榭紤]到DAL分布式處理的可能性,作者在自己的方案中將其單獨(dú)歸類,并不將其作為DAL的主要特性去實(shí)現(xiàn)。這方面的技術(shù)大家早已耳熟能詳:.NET Remoting,WebServices。



        以下,作者將給出一個(gè)自己的解決方案,通過實(shí)例,和大家一起探討一下.NET下的DAL實(shí)現(xiàn)技術(shù)。



        u 綜合現(xiàn)有的技術(shù)

        1. 概述

        說是解決方案,其實(shí)也就是一個(gè)“大雜燴”,作者希望通過綜合現(xiàn)有的.NET DAL技術(shù)來達(dá)到Generic目的,免去了為不同項(xiàng)目反復(fù)編寫DAL的無盡痛苦L,雖然絕對(duì)不是銀彈,總也想為廣大(我也是“受害者”之一J)DAL工程師們帶來一點(diǎn)點(diǎn)的改善。除此之外,Ease of Use也是這個(gè)解決方案必須考慮的另一難題!

        為簡單起見,以下將作者的解決方案簡稱為:DAF(Data Access Facade) Solution。



        總的來說,就作者個(gè)人觀點(diǎn),DAL Generic有兩方面需要我們重點(diǎn)考慮:



        (1) 接口一致性:這個(gè)大部分Solution都能滿足,但有一點(diǎn)比較討厭,就是Data Entity的設(shè)計(jì)!這是一個(gè)很難Generic的家伙,經(jīng)常讓人顧此失彼L

        (2) 存儲(chǔ)無關(guān)性:Database方面可以通過Provider Factory實(shí)現(xiàn),但XML與Database的混合存儲(chǔ)模式就比較麻煩了!隨著XML在應(yīng)用中的逐漸普及(Yukon甚至將其集成到了Database Table Column中),DAL將不可避免地與它產(chǎn)生交互L(當(dāng)然了,還有種變相的做法也可以解決這個(gè)問題:將所有XML問題統(tǒng)統(tǒng)隔離在DAL之外J)



        下一段:http://www.csdn.net/develop/Read_Article.asp?id=2

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲精品456播放| 免费无码又爽又高潮视频| 久久精品亚洲男人的天堂| 老外毛片免费视频播放| 国产精品免费视频一区| 99亚洲男女激情在线观看| 四虎影视在线永久免费观看| 色噜噜的亚洲男人的天堂| 又黄又爽的视频免费看| aa午夜免费剧场| 亚洲国产三级在线观看| 性色午夜视频免费男人的天堂| 国产AV无码专区亚洲AVJULIA | 亚洲综合一区二区国产精品| 18禁黄网站禁片免费观看不卡| 亚洲校园春色小说| 成人五级毛片免费播放| 美女视频黄频a免费| 亚洲综合激情另类专区| 久久久久国产精品免费看| 亚洲一区在线观看视频| jjzz亚洲亚洲女人| 成在人线av无码免费高潮喷水| 亚洲另类古典武侠| 国产午夜无码视频免费网站 | 久久免费国产视频| 亚洲欧洲日产国码二区首页| 免费观看的av毛片的网站| 中国在线观看免费的www| 亚洲AV日韩AV永久无码下载| 日本亚洲免费无线码| 色妞www精品视频免费看| 亚洲精品无码国产| 免费看韩国黄a片在线观看| 新最免费影视大全在线播放| 亚洲AV永久无码区成人网站| 成人影片麻豆国产影片免费观看| 免费一级特黄特色大片| 亚洲卡一卡2卡三卡4麻豆| 美腿丝袜亚洲综合| 色窝窝免费一区二区三区|