專家學(xué)者解決ADO.NET方案使用說明
ADO.NET方案是將內(nèi)存中的數(shù)據(jù)(即數(shù)據(jù)集)表述為XML,然后以XML格式傳遞給其他組件,但前提是要深入理解到底什么是FrontPage服務(wù)器,及他是怎么運(yùn)作的,下面進(jìn)行學(xué)習(xí)研究。
事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個(gè)Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。可編程性利用Visual Studio.NET,你可以對(duì)你的對(duì)象進(jìn)行編程,而不是某一個(gè)數(shù)據(jù)表或某一個(gè)數(shù)據(jù)列。ADO.NET采用強(qiáng)類型編程,可以更好的表述業(yè)務(wù)對(duì)象。
例如,在以下的代碼行中采ADO.NET方案用了傳統(tǒng)的程序設(shè)計(jì)(不是強(qiáng)類型的)IF TotalCost > Table("Customer").Column("AvailableCredit") 在這個(gè)例子中,采用的是關(guān)聯(lián)的、抽象的方式對(duì)ADO表和列進(jìn)行編程。#t#
如果采用強(qiáng)類型編程,事情就變得簡(jiǎn)單多了:IF TotalCost > Customer.AvailableCredit除了能夠方便閱讀,強(qiáng)類型代碼也更加容易編寫。
特別是依靠語句自動(dòng)補(bǔ)寫功能,你編寫的對(duì)ADO.NET方案象也能夠識(shí)別。在下例中可以看到,利用IntelliSense(智能感應(yīng))技術(shù),可以方便的找到與Customers相關(guān)的表。
圖一.強(qiáng)類型編程和IntelliSense
此外,強(qiáng)類型數(shù)據(jù)集有更高的執(zhí)行速度,因?yàn)閼?yīng)用程序ADO.NET方案不必在每次訪問數(shù)據(jù)成員時(shí)都去ADO對(duì)象集合中查找了。運(yùn)用Data Set (數(shù)據(jù)集)任何采用ADO.NET的應(yīng)用方案中最重要的就是數(shù)據(jù)集了。數(shù)據(jù)集是指數(shù)據(jù)庫數(shù)據(jù)中的拷貝。
一個(gè)數(shù)據(jù)集可以包含任意多個(gè)數(shù)據(jù)表,每一個(gè)一般都對(duì)ADO.NET方案應(yīng)于數(shù)據(jù)庫中的表或視圖。數(shù)據(jù)集組成了一個(gè)非連接的數(shù)據(jù)庫數(shù)據(jù)視圖。也就是說,它在內(nèi)存中,并不和包含對(duì)應(yīng)表或視圖的數(shù)據(jù)庫維持一個(gè)活動(dòng)連接。這種非連接的結(jié)構(gòu)體系使得只有在讀寫數(shù)據(jù)庫時(shí)才需要使用數(shù)據(jù)庫服務(wù)器資源,因而提供了更好的可伸縮性。