掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
本章簡明扼要的進行說明。針對ADO.NET標準化以及他的更多功能,還有一些功能請參照微軟官網(wǎng)發(fā)布的實時消息,那上面講述了一些你知道和不知道的內(nèi)容,歡迎大家進行訪問。

創(chuàng)新互聯(lián)公司成立10余年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計、空間域名、網(wǎng)絡營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
粗看起來,ADO.NET提供的模型是零散的,因為它沒有包含一個通過的對象集,來處理多種不同類型的數(shù)據(jù)庫。盡管不同的.NET數(shù)據(jù)提供者使用不同的類,但所有提供者都是采用同一方法進行標準化的。說得更明確一點,就是每個提供者都是基于相同的基類和接口集。例如,每個連接對象都執(zhí)行IDbConnection接口,這些接口定義了核心的方法,如Open()、Close()。這個標準化保證每個連接類以同樣的方式工作,并且向用戶提供的核心屬性和方法集是一樣的。
在可視的界面之后,不同的提供者使用完全不同的底層調(diào)用和API。舉個例來說,ADO.NET標準化SQL Server提供者使用私有的TDS(Tabular Data Stream)協(xié)議來與服務器通信。這個模型的好處并不是顯而易見的,但它們很重要:
因為每個提供者使用相同的接口和基類,你可以編寫通用的數(shù)據(jù)訪問代碼(只需一點點的努力),而不是需要針對具體的提供者類編寫代碼。你將在“Provider-Agnostic Code”一節(jié)中看到這個技術(shù)所起的作用。
由于每個提供者的實現(xiàn)是完全分離的,ADO.NET標準化可以使用私有的優(yōu)化措施(這與ADO模型不同。在ADO中,ADO.NET標準化每個數(shù)據(jù)庫調(diào)用需要在到達底層數(shù)據(jù)庫驅(qū)動前要使用通過的層來進行過濾)。另外,自定義提供者能夠添加非標準的功能,擴展在其它提供者中的不足(如SQL Server能夠執(zhí)行XML查詢)。
ADO.NET也有另一個標準的層:DataSet。DataSet是一個能滿足所有要求的數(shù)據(jù)容器,這些數(shù)據(jù)來自于一個數(shù)據(jù)源的一個或多個表。DataSet非常通用,換句話說,自定義提供者不需要定義DataSet類的自定義版本。無論你使用哪種數(shù)據(jù)提供者,你都能夠以同樣的方法提取數(shù)據(jù)和將數(shù)據(jù)放入未連接的DataSet。ADO.NET標準化這樣就使得數(shù)據(jù)獲取代碼和數(shù)據(jù)處理代碼分離開來。如果你改變了底層的數(shù)據(jù)庫,你只需要改變數(shù)據(jù)獲取代碼,但如果你使用的DataSet和你的信息具有相同的結(jié)構(gòu),你就不需要改變數(shù)據(jù)處理的方法。
提示:下一章將對DataSet進行詳細介紹,你將學到如何使用ADO.NET執(zhí)行直接的、基于連接的訪問的基本原理。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流