快速ADO.NET入門詳細(xì)介紹
學(xué)習(xí)每門技術(shù)都是由淺入深,這里我們就從ADO.NET入門開始吧,希望可以給大家開個好頭。ADO.NET提供了一個統(tǒng)一的編程模式和一組公用的類來進行任何類型的數(shù)據(jù)訪問,而不管你用何種語言來開發(fā)代碼。ADO.NET是全新的,但又與ADO盡可能保持一致,它使編程模式從一個客戶端/服務(wù)器、基于連接的模式轉(zhuǎn)變到了一個新的模式,這個新模式可以讓斷開的前端下載記錄、離線工作、然后重新連接來提交變化。ADO.NET是WinForms應(yīng)用程序、ASP.NET應(yīng)用程序和Web Services的一個共有的特點。其功能可以跨LAN和Internet連接來實現(xiàn),可以在有狀態(tài)(stateful)和無狀態(tài)(stateless)情況下實現(xiàn)。
這就意味著,作為一個共有的技術(shù),ADO.NET的對象在所有可能的環(huán)境中并不是同等強大的。用ADO.NET為一個富客戶端(rich client)構(gòu)建一個數(shù)據(jù)層同為一個客戶端通常是共享的和重要的實體(如Web服務(wù)器)的Web應(yīng)用程序構(gòu)建一個數(shù)據(jù)層并不一樣。
#T#如果你從前是個ADO開發(fā)人員,現(xiàn)在已經(jīng)用ADO.NET了,那么你可能把數(shù)據(jù)訪問看做是一個***的對象,如Recordset。我們很自然地會將舊的對象模式同新的對象模式匹配起來,并將現(xiàn)有的方法用于.NET應(yīng)用程序。然而,在ADO環(huán)境中的某些好的方法在轉(zhuǎn)換到ADO.NET環(huán)境時就可能并不強大了。而且,看起來很微不足道的ADO.NET對象模式的復(fù)雜性可能會導(dǎo)致很糟糕的編程情況、不理想的代碼、甚至是功能不能實現(xiàn)。我將講述在 ADO.NET編程中可能會給你帶來麻煩的10個方面,并提供技巧和解決方法來避免它們。
ADO.NET入門運用字符串來串行化擴展的屬性
幾個ADO.NET對象都擁有一個叫做ExtendedProperties的集合。該屬性就像收集貨物(cargo collection)一樣,可以用來存儲任何類型的用戶信息。DataSet、DataTable和DataColumn就是可以提供該數(shù)據(jù)成員的類。ADO.net通過運用PropertyCollection類封裝的一個哈希表來實現(xiàn)這個ExtendedProperties屬性。你可以用Add方法將數(shù)據(jù)插入到集合中。Add方法使用了兩個參數(shù)來保存數(shù)據(jù)——key和value。該方法的原形將參數(shù)定義為通用的對象類型,你可以存儲任何類型的信息。然而,在特殊情況下,你應(yīng)該特別注意那些被保存為擴展屬性的對象的類型。
如果你想將包含擴展屬性的ADO.NET對象串行化到XML,***只用字符串。如果不行,你必須對ADO.NET的內(nèi)在的serializer的行為采取對策。
當(dāng)ADO.NET將一個DataSet對象保存到XML時,ExtendedProperties 集合的內(nèi)容就被串行化到內(nèi)存中了,但大概是出于性能的原因,ADO.NET運用了ToString方法,而不是XML serializer來實現(xiàn)串行化。更重要的是,當(dāng)ADO.NET對象被讀回并復(fù)原時,ExtendedProperties集合包含的是對象的字符串表現(xiàn)形式,而不是對象本身。以上就是關(guān)于ADO.NET入門的簡單介紹,希望對大家有幫助。