ADO.NET
维基百科,自由的百科全书
ADO.NET (或者新的ActiveX Data Object技術) 是微軟.NET為基應用程序的主要關聯式資料存取模組。主要用於存取各式各樣的資料源如:.NET本身的提供源(Provider)、或某些經由.NET橋接的特別提供源,像OLE DB提供源、ODBC驅動程序、或JDBC驅動程序。ADO.NET有時被視為進化的ADO技術,但是著眼於介於這兩者間有哪些主要更動才是重點。
目录 |
[编辑] 結構
ADO.NET包括兩個主要部分:
[编辑] 資料提供源 (Data provider)
供應源物件群。這些類提供對資料源──如SQL Server數據庫──存取和通訊的功能。每個資料源有它自己的供應源物件組,不過它們每個都有共通的字尾:
- Connection (連線): 提供對資料源存取所需的連線。亦扮演abstract factory(抽象工廠)指揮物件的腳色。
- Command (指令): 用來對資料源執行許多動作,如讀取、更新、刪除相關資料。
- Parameter (變量): 描述附於指令的單一變量。常見範例是給預存程序 (stored procedure) 聲明的變量。
- DataAdapter (資料轉接元): 顧名思義提供資料組(DataSet)物件與資料源轉接 (參照下文)。
- DataReader (資料讀取元): 一個用來高效處理大型結果列表──一次一個紀錄──而不暫存在用戶端的物件。
[编辑] 資料組 (DataSet)
資料組(DataSet)物件群,是一組類描述單一內存裡頭的關聯數據庫。只能有一組資料元中立的資料組物件群組,不過其他資料源的資料和數據庫概要(schema)結構可以利用資料轉接元導入。這些類形成自給自足的階層:
- 資料組物件表達了一個完整數據庫。它可包括表、與表與表之間的關聯。
- 資料表(DataTable)物件表達數據庫裡頭的單一表格。它有名稱、行、與列。
- 資料行(DataRow)物件表達表裡頭的一行。並允許讀取、更新該行的值,也允許透過主鍵(primary key)和外鍵(foreign key)關係抓取跟該行有關係的任何行的資料。
- 資料關聯(DataRelation)描述表間的關聯性,例如主鍵外鍵關係。對促成資料行取得相關行的功能相當有用。
- 約束(Constraint)描述數據庫裡需要強制執行的屬性,例如主鍵欄下每個值唯一性。隨著資料被修改任何違反該約束的都會造成例外狀況。
- 資料表(DataTable)物件表達數據庫裡頭的單一表格。它有名稱、行、與列。
[编辑] ADO.NET提供源資源一覽
- 微軟為許多數據庫發行提供源,以及在視窗下給微軟CLR使用的ODBC驅動發行橋接提供源。
- DataDirect Technologies發行100%列管提供源,支援主流企業數據庫 (Oracle, Sybase, DB2, SQL Server, Progress RDBMS)
- OpenLink Software給大量的客戶指定數據庫發行提供源,包括到其他資料存取機構的橋接提供源,並可以在視窗下微軟自己或者Mono的CLR實做下支援。
[编辑] ADO.NET與Visual Studio.NET
在Visual Studio.NET整合開發環境已內建功能,可為特別的數據庫概要創造特殊的資料組子類群,並允許透過強式屬性輕易的存取每個區域資料。這在編譯時期下幫助捕獲更多編程錯誤並且讓整合開發環境下的Intellisense功能更為有用。
[编辑] ADO Vs. ADO.NET
關於從ADO到ADO.NET的變動,MSDN裡頭這篇文章有相當有用的討論。
- 英文版:ADO.NET for the ADO Programmer
- 繁體中文:"ADO.NET ─ ADO 開發人員指引"
- 簡體中文:從缺 (MSDN中國版上找不到)。
[编辑] 物件空間群(ObjectSpaces)
物件空間群是一個給微軟.NET框架的資料存取應用程序介面的組合。並被包括在未來版本的ADO.NET中。物件空間群允許資料以物件群──獨立於基礎的資料倉儲(datastore)──方式對待。在物件空間群裡,資料以物件方式暴露,這種方式封裝了它們的物理結構,如表、列、欄等等。
物件空間資料物件群又名為持久化物件群(Persistent Objects)。這些物件空間物件群有時被用於從資料倉儲裡取得資料、利用它的關聯性導引資料、修改資料、並提交變動到資料倉儲裡。物件空間群包括不同的類以連線到關連資料倉儲,例如數據庫、或者某個XML資料倉儲。不管是到數據庫或XML資料倉儲,這兩者都提供了一致的方法群來存取資料,並且封裝與資料倉儲間的通訊。此外,這些類也可被延展來創造給其他類型的資料倉儲用的轉接元。
[编辑] 參見
- ActiveX Data Objects (ADO)
- Open Database Connectivity
- OLE DB