国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

你必須知道的ADO.NET

2019-11-17 01:28:37
字體:
供稿:網(wǎng)友

你必須知道的ADO.NET

原文:http://m.survivalescaperooms.com/liuhaorain/archive/2012/02/06/2340409.html

1. 什么是ADO.NET?

簡(jiǎn)單的講,ADO.NET是一組允許.NET開發(fā)人員使用標(biāo)準(zhǔn)的,結(jié)構(gòu)化的,甚至無連接的方式與數(shù)據(jù)交互的技術(shù)。對(duì)于ADO.NET來說,可以處理數(shù)據(jù)源是多樣的??梢允菓?yīng)用程序唯一使用的創(chuàng)建在內(nèi)存中數(shù)據(jù),也可以是與應(yīng)用程序分離,存儲(chǔ)在存儲(chǔ)區(qū)域的數(shù)據(jù)(如文本文件、xml、關(guān)系數(shù)據(jù)庫(kù)等)。

具體來說,ADO.NET 對(duì) Microsoft SQL Server 和 XML 等數(shù)據(jù)源以及通過 OLE DB 和 XML 公開的數(shù)據(jù)源提供一致的訪問。數(shù)據(jù)共享使用者應(yīng)用程序可以使用 ADO.NET 來連接到這些數(shù)據(jù)源,并檢索、處理和更新所包含的數(shù)據(jù)。

作為.NET框架的重要組成部分,ADO.NET 類封裝在 System.Data.dll 中,并且與 System.Xml.dll 中的 XML 類集成。當(dāng)編譯使用 System.Data 命名空間的代碼時(shí),需要引用System.Data.dll 和 System.Xml.dll。

2. 理清ADO.NET與ADO的關(guān)系

作為一個(gè)普通的縮略詞,"ADO.NET”并只不是"ADO”的簡(jiǎn)單升級(jí)版本。嚴(yán)格的講,ADO.NET和ADO是兩種截然不同的數(shù)據(jù)訪問方式。

ADO的全稱是Activex Data Objects,它是早期(.NET還未實(shí)施)開發(fā)人員用來訪問數(shù)據(jù)的組件。隨著.NET的發(fā)展,ADO.NET順其自然地以其顯著的優(yōu)越性逐步取代ADO。從技術(shù)層面講,ADO使用OLE DB接口并基于微軟的COM技術(shù),而ADO.NET擁有自己的ADO.NET接口并且基于微軟的.NET體系架構(gòu)。

雖然大多數(shù)基于 .NET 的新應(yīng)用程序?qū)⑹褂?ADO.NET 來編寫,但 .NET 程序員仍然可以通過 .NET COM 互操作性服務(wù)來使用 ADO。

3. 認(rèn)識(shí)ADO.NET最核心的組成部分

System.Data命名空間提供了不同的ADO.NET類,它們既分工明確,又相互協(xié)作地提供表格數(shù)據(jù)的訪問服務(wù)。該類庫(kù)包含兩組重要的類:一組負(fù)責(zé)處理軟件內(nèi)部的實(shí)際數(shù)據(jù)(DataSet),一組負(fù)責(zé)與外部數(shù)據(jù)系統(tǒng)通信(Data PRovider)。具體架構(gòu)如下圖所示:

圖1.3.1 ADO.NET核心組件

DataSet 是 ADO.NET 的非連接(斷開)結(jié)構(gòu)的核心組件。DataSet 的設(shè)計(jì)目的很明確:為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。因此,ADO.NET結(jié)構(gòu)可以用于多種不同的數(shù)據(jù)源,用于 XML 數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet 包含一個(gè)或多個(gè) DataTable 對(duì)象的集合,這些對(duì)象由數(shù)據(jù)行和數(shù)據(jù)列以及主鍵、外鍵、約束和有關(guān) DataTable 對(duì)象中數(shù)據(jù)的關(guān)系信息組成。

ADO.NET 結(jié)構(gòu)的另一個(gè)核心元素是 .NET 數(shù)據(jù)提供程序(Data Provider)。具體包括:

  • Connection 對(duì)象提供與數(shù)據(jù)源的連接。
  • Command對(duì)象使您能夠訪問用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫(kù)命令。
  • DataReader 對(duì)象從數(shù)據(jù)源中提供快速的,只讀的數(shù)據(jù)流。
  • DataAdapter 對(duì)象提供連接 DataSet 對(duì)象和數(shù)據(jù)源的橋梁。DataAdapter 使用 Command 對(duì)象在數(shù)據(jù)源中執(zhí)行 SQL 命令,以便將數(shù)據(jù)加載到 DataSet 中,并使對(duì) DataSet 中數(shù)據(jù)的更改與數(shù)據(jù)源保持一致。

4. ADO.NET擴(kuò)展

提供一致的數(shù)據(jù)訪問,是使用ADO.NET的一個(gè)關(guān)鍵的優(yōu)勢(shì)。但是對(duì)于開發(fā)人員來說,更大的優(yōu)勢(shì)是通過ADO.NET將管理的數(shù)據(jù)作為對(duì)象來說處理。 表中的每個(gè)字段都是強(qiáng)類型成員,與.NET 通用類型系統(tǒng)(Common Type System)完全兼容。個(gè)別的字段甚至可以作為局部變量來使用。數(shù)據(jù)行或者其他的數(shù)據(jù)集對(duì)象是標(biāo)準(zhǔn)的.NET 集合(Collections),可以用標(biāo)準(zhǔn)的迭代方法處理。

Entity Framework和LINQ是微軟為了提高ADO.NET核心功能而建立的兩個(gè)新的工具。需要注意的是,它們并不是ADO.NET的基本組成部分。

Entity Framework 利用了抽象化數(shù)據(jù)結(jié)構(gòu)的方式,將每個(gè)數(shù)據(jù)庫(kù)對(duì)象都轉(zhuǎn)換成應(yīng)用程序?qū)ο?(entity),而數(shù)據(jù)字段都轉(zhuǎn)換為屬性 (property),關(guān)系則轉(zhuǎn)換為結(jié)合屬性 (association),讓數(shù)據(jù)庫(kù)的 E/R 模型完全的轉(zhuǎn)成對(duì)象模型。而在抽象化的結(jié)構(gòu)之下,則是高度集成與對(duì)應(yīng)結(jié)構(gòu)的概念層、對(duì)應(yīng)層和儲(chǔ)存層,以及支持 Entity Framework 的數(shù)據(jù)提供者 (provider),讓數(shù)據(jù)訪問的工作得以順利與完整的進(jìn)行。

LINQ允許編寫C#或者Visual Basic代碼以查詢數(shù)據(jù)庫(kù)相同的方式操作內(nèi)存數(shù)據(jù)。LINQ是一個(gè)通用的數(shù)據(jù)工具,可以讓你非常容易地融合不同數(shù)據(jù)源的數(shù)據(jù),并得到單一的數(shù)據(jù)結(jié)果集。

原文:http://m.survivalescaperooms.com/liuhaorain/archive/2012/02/06/2340409.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 桦南县| 东宁县| 尖扎县| 同江市| 广饶县| 禹城市| 崇文区| 安多县| 郁南县| 绥化市| 万宁市| 台安县| 大足县| 张家界市| 河津市| 闻喜县| 中宁县| 武定县| 那坡县| 肥西县| 阳原县| 抚松县| 健康| 马龙县| 临汾市| 梁河县| 秦安县| 且末县| 南江县| 南陵县| 壤塘县| 迭部县| 安吉县| 武宣县| 紫金县| 湖南省| 宁陵县| 喀喇沁旗| 大埔区| 措美县| 深州市|