ADO.NET的結構——ADO.NET學習&應用筆記之一

來源:互聯網
上載者:User

ADO.NET的核心組件由Data Provider模組和DataSet模組組成。Data Provider程式庫實現資料的串連、操作和對資料快速只進唯讀訪問。DataSet實現獨立於資料來源的資料訪問、操作,有點類似於ADO的中斷連線的待用資料集。

ADO.NET的結構圖如下:

一、.NET Framework Data Provider
.NET Framework資料提供者是一組串連資料來源,並且能夠對資料執行命令,擷取資料的程式結構。

(一).NET Framework的四個資料提供者
.NET Framework提供了四組資料提供者,用於訪問四類資料來源。
1、SQL Server .NET Framework資料提供者,該程式只能訪問MS SQL Server7.0或更高版本,更早版本的只能通過OLE DB資料提供者訪問。它的命名空間為System.Data.SqlClient。
2、OLE DB .NET Framework 資料提供者,用於訪問OLE DB資料提供者,該程式不支援OLE DB 2.5版介面。它的命名空間為System.Data.OleDb。
3、ODBC .NET Framework 資料提供者。用於訪問ODBC資料提供者。它的命名空間為System.Data.Odbc。
4、Oracle .NET Framework 資料提供者。用於訪問Oracle資料,該程式需要Oracle用戶端軟體8.1.7或更高版本的支援。它的命名空間為System.Data.OracleClient。

通過對IDbConnection介面、IDbCommand介面、IDataAdapter介面、IDbDataAdapter介面、IDataReader介面、IDataParameter介面、IDbTransaction介面等的實現我們也可以編寫自己的資料提供者組。

(二).Net資料提供者的四個核心對象
.Net資料提供者通常包含有四個核心對象:
1、Connection 對象提供與資料來源的串連。資料提供者的Connection類是繼承System.Data.IDbConnection介面的實現。
2、Command對象使您能夠訪問用於返回資料、修改資料、運行預存程序以及發送或檢索參數資訊的資料庫命令。資料提供者的Command類是繼承System.Data.IDbCommand介面的實現。
3、DataReader 從資料來源中提供高效能的資料流。DataReader的資料流是只進且唯讀。資料提供者的DataReader類是繼承System.Data.IDataReader介面的實現。
4、DataAdapter 提供串連DataSet對象和資料來源的橋樑。DataAdapter 使用Command 對象在資料來源中執行 SQL 命令,以便將資料載入到 DataSet 中,並使對 DataSet中資料的更改與資料來源保持一致。資料提供者的DataAdapter類是繼承System.Data.IDbDataAdapter介面的實現。
.Net資料提供者還包括Transaction對象、Parameter對象等。

二、.NET Framework DataSet
串連、命令、事務、資料讀取作用於特定的提供者,唯有資料集可以獨立於特定的資料提供的,在.NET Framework中資料集對象DataSet的命名空間位於System.Data中。

(一)、DataSet物件模型
DataSet對象是支援ADO.NET的斷開式、分布式資料方案的核心對象。DataSet是資料的記憶體駐留表示形式,無論資料來源是什麼,它都會提供一致的關係編程模型。你可以把它想象成一個濃縮在記憶體當中的關聯式資料庫。它的物件模型如:

DataSet包含三組集合:
(1)、DataTableCollection。關聯式資料庫當中最主要的對象就是Table,那麼在DataSet當中使用該集合來包含多個DataTable對象。DataTable就是是在記憶體中的資料表,你可以通過唯一名稱來標識一個表。DataSet的DataTable可儲存的最大行數是16,777,216。
(2)、DataRelationCollection。在關聯式資料庫當中除了表之外,還有表示表和表之間的關係Relation。該集合就是包含表關聯性物件的集合。
(3)、ExtendedProperties。該是一組自訂資訊,概念上點類似於ASP的Session之類的。

(二)、DataSet與DataAdapter
DataAdapter對象是資料提供者和DataSet串連的橋樑。資料提供者的DataAdapter類是IDataAdapter或者IDbDataAdapter的實現。通常DataAdapter的建構函式是:
XxxDataAdapter(SqlCommand selectCommand)
XxxDataAdapter(String selectCommandText, String selectConnectionString)
XxxDataAdapter(String selectCommandText, SqlConnection selectConnection)

DataAdapter通過實現Fill、FillSchema將資料來源資料、架構等添加到DataSet中,通過實現Update將DataSet中的資料更新到資料來源中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.