如何更好的設(shè)計ADO.NET及其技巧
設(shè)計ADO.NET用途以及它在整個VS體系結(jié)構(gòu)中所處的位置之后,本文進行詳細的介紹和說明,本章將簡要介紹ADO.NET對象模型,以及它與微軟先前數(shù)據(jù)訪問技術(shù)的區(qū)別。。。#t#
設(shè)計ADO.NET的目的就是為了幫助開發(fā)人員開發(fā)在Intranet和Internet上使用的高效多層數(shù)據(jù)庫應(yīng)用程序,而且ADO.NET對象模型也提供了這樣的手段。圖1.1顯示了包含ADO.NET對象模型的類。中間的虛線將對象模型分為兩部分。
虛線左邊的對象是連接對象。設(shè)計ADO.NET這些對象直接與數(shù)據(jù)庫通信,以管理連接和事務(wù),以及從數(shù)據(jù)庫檢索數(shù)據(jù)和向數(shù)據(jù)庫提交所做的更改。虛線右邊的對象是非連接對象,允許用戶脫機處理數(shù)據(jù)。
由ADO.NET對象模型中非連接部分組成的對象不與連接對象直接通信。這是對微軟先前數(shù)據(jù)訪問對象模型的一個重要修改。在ADO中,Recordset對象存儲查詢的結(jié)果。可以調(diào)用其Open方法以提取查詢結(jié)果,調(diào)用其Update(或UpdateBatch)方法,設(shè)計ADO.NET以向數(shù)據(jù)庫提交存儲在Recordset中的修改。
稍后討論的ADO.NET DataSet(數(shù)據(jù)集)在功能上與ADO Recordset相當(dāng)。但是設(shè)計ADO.NET不與數(shù)據(jù)庫進行通信。為了從數(shù)據(jù)庫提取數(shù)據(jù)并放入DataSet中,可以將DataSet傳遞給一個已連接ADO.NET對象(DataAdapter)的Fill方法。與此類似,為了向數(shù)據(jù)庫提交存儲在DataSet中的掛起更改,可以將DataSet傳遞給DataAdapter對象的Update方法。