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

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

ADO.NET 結(jié)構(gòu) 集中數(shù)據(jù)庫聯(lián)接結(jié)構(gòu)

2019-11-17 02:23:25
字體:
供稿:網(wǎng)友
ADO.NET 結(jié)構(gòu) 集中數(shù)據(jù)庫聯(lián)接結(jié)構(gòu)

MSDN 原文出處

https://msdn.microsoft.com/zh-cn/library/27y4ybxw.aspx

.NET Framework 4.6 and 4.5

其他版本

以前,數(shù)據(jù)處理主要依賴于基于連接的雙層模型。 隨著數(shù)據(jù)處理越來越多地使用多層體系結(jié)構(gòu),程序員正在向斷開方法轉(zhuǎn)換,以便為他們的應(yīng)用程序提供更好的可伸縮性。

ADO.NET 組件

ADO.NET 3.0 用于訪問和操作數(shù)據(jù)的兩個主要組件是 .NET Framework 數(shù)據(jù)提供程序和 DataSet。

27y4ybxw.collapse_all(zh-cn,VS.110).gif.NET Framework 數(shù)據(jù)提供程序

.NET Framework 數(shù)據(jù)提供程序是專門為數(shù)據(jù)操作以及快速、只進(jìn)、只讀訪問數(shù)據(jù)而設(shè)計的組件。 Connection 對象提供到數(shù)據(jù)源的連接。 使用 Command 對象可以訪問用于返回數(shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲過程以及發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令。 DataReader 可從數(shù)據(jù)源提供高性能的數(shù)據(jù)流。 最后,DataAdapter 在 DataSet 對象和數(shù)據(jù)源之間起到橋梁作用。 DataAdapter 使用 Command 對象在數(shù)據(jù)源中執(zhí)行 SQL 命令以向 DataSet 中加載數(shù)據(jù),并將對 DataSet 中數(shù)據(jù)的更改協(xié)調(diào)回數(shù)據(jù)源。 有關(guān)詳細(xì)信息,請參閱.NET Framework 數(shù)據(jù)提供程序和在 ADO.NET 中檢索和修改數(shù)據(jù)。

27y4ybxw.collapse_all(zh-cn,VS.110).gifDataSet

ADO.NET DataSet 是專門為獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問而設(shè)計的。 因此,它可以用于多種不同的數(shù)據(jù)源,用于 xml 數(shù)據(jù),或用于管理應(yīng)用程序本地的數(shù)據(jù)。 DataSet 包含一個或多個 DataTable 對象的集合,這些對象由數(shù)據(jù)行和數(shù)據(jù)列以及有關(guān) DataTable 對象中數(shù)據(jù)的主鍵、外鍵、約束和關(guān)系信息組成。 有關(guān)詳細(xì)信息,請參閱DataSet、DataTable 和 DataView。

下圖闡釋了 .NET Framework 數(shù)據(jù)提供程序和 DataSet 之間的關(guān)系。

ADO.NET 體系結(jié)構(gòu)

27y4ybxw.collapse_all(zh-cn,VS.110).gif選擇 DataReader 或 DataSet

在決定應(yīng)用程序應(yīng)使用 DataReader(請參見使用 DataReader 檢索數(shù)據(jù))還是應(yīng)使用 DataSet(請參見DataSet、DataTable 和 DataView)時,應(yīng)考慮應(yīng)用程序所需的功能類型。 使用 DataSet 可執(zhí)行以下操作:

  • 在應(yīng)用程序中將數(shù)據(jù)緩存在本地,以便可以對數(shù)據(jù)進(jìn)行處理。 如果只需要讀取查詢結(jié)果,則 DataReader 是更好的選擇。

  • 在層間或從 XML Web services 對數(shù)據(jù)進(jìn)行遠(yuǎn)程處理。

  • 與數(shù)據(jù)進(jìn)行動態(tài)交互,例如綁定到 Windows 窗體控件或組合并關(guān)聯(lián)來自多個源的數(shù)據(jù)。

  • 對數(shù)據(jù)執(zhí)行大量的處理,而不需要與數(shù)據(jù)源保持打開的連接,從而將該連接釋放給其他客戶端使用。

如果不需要 DataSet 所提供的功能,則可以通過使用 DataReader 以只進(jìn)、只讀方式返回數(shù)據(jù),從而提高應(yīng)用程序的性能。 雖然 DataAdapter 使用 DataReader 來填充 DataSet 的內(nèi)容(請參見從 DataAdapter 填充 DataSet),但使用 DataReader 可以提升性能,因?yàn)檫@樣可以節(jié)省 DataSet 所使用的內(nèi)存,并將省去創(chuàng)建 DataSet 并填充其內(nèi)容所需的處理。

LINQ to DataSet

LINQ to DataSet 提供對在 DataSet 對象中緩存的數(shù)據(jù)的查詢功能和編譯時類型檢查。 它使您可以使用一種 .NET Framework 開發(fā)語言(例如 C# 或 Visual Basic)來編寫查詢。 有關(guān)詳細(xì)信息,請參閱LINQ to DataSet。

LINQ to SQL

LINQ to SQL 支持查詢無需使用中間概念模型即可映射到關(guān)系數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)的對象模型。 每個表均由獨(dú)立的類表示,從而使對象模型與關(guān)系數(shù)據(jù)庫架構(gòu)緊密地耦合在一起。 LINQ to SQL 可將對象模型中的語言集成查詢轉(zhuǎn)換為 Transact-SQL 并將其發(fā)送到數(shù)據(jù)庫以便執(zhí)行。 當(dāng)數(shù)據(jù)庫返回結(jié)果時,LINQ to SQL 將結(jié)果轉(zhuǎn)換回對象。 有關(guān)詳細(xì)信息,請參閱LINQ to SQL [LINQ to SQL]。

ADO.NET Entity Framework

ADO.NET 實(shí)體框架專門用于讓開發(fā)人員能夠通過針對概念應(yīng)用程序模型進(jìn)行編程(而不是直接針對關(guān)系存儲架構(gòu)進(jìn)行編程)來創(chuàng)建數(shù)據(jù)訪問應(yīng)用程序。 這樣做的目的是減少面向數(shù)據(jù)的應(yīng)用程序所需的編碼和維護(hù)工作。 有關(guān)詳細(xì)信息,請參閱ADO.NET 實(shí)體框架。

WCF 數(shù)據(jù)服務(wù)

WCF 數(shù)據(jù)服務(wù) 用于在 Web 或 Intranet 上部署數(shù)據(jù)服務(wù)。 這些數(shù)據(jù)將按照實(shí)體數(shù)據(jù)模型的規(guī)范組織成不同的實(shí)體和關(guān)系。 在此模型上部署的數(shù)據(jù)可通過標(biāo)準(zhǔn)的 HTTP 協(xié)議進(jìn)行尋址。 有關(guān)詳細(xì)信息,請參閱WCF 數(shù)據(jù)服務(wù) 4.5。

XML 和 ADO.NET

ADO.NET 利用 XML 的功能來提供對數(shù)據(jù)的斷開連接的訪問。 ADO.NET 是與 .NET Framework 中的 XML 類一起設(shè)計的,它們都是同一個體系結(jié)構(gòu)的組件。

ADO.NET 和 .NET Framework 中的 XML 類集中于 DataSet 對象中。 無論 XML 源是文件還是 XML 流,都可以用其中的數(shù)據(jù)來填充 DataSet。 無論 DataSet 中數(shù)據(jù)的源是什么,都可以將 DataSet 作為符合萬維網(wǎng)聯(lián)合會 (W3C) 的 XML 進(jìn)行編寫,其架構(gòu)作為 XML 架構(gòu)定義語言 (XSD) 架構(gòu)。 由于 DataSet 的本機(jī)序列化格式為 XML,因此它是用于在層間移動數(shù)據(jù)的絕佳媒介,這使 DataSet 成為了與 XML Web 服務(wù)之間遠(yuǎn)程處理數(shù)據(jù)和架構(gòu)上下文的最佳選擇。 有關(guān)詳細(xì)信息,請參閱XML 文檔和數(shù)據(jù)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 无锡市| 辉县市| 定州市| 高尔夫| 正镶白旗| 泽普县| 鸡泽县| 梅河口市| 阳谷县| 连南| 江源县| 尚志市| 万全县| 澎湖县| 柳江县| 甘孜县| 南丰县| 霍州市| 遂川县| 磐石市| 远安县| 拉孜县| 克拉玛依市| 泽普县| 珲春市| 阳城县| 阜阳市| 乌兰察布市| 田东县| 临湘市| 贵港市| 永康市| 新巴尔虎右旗| 宜良县| 邵阳县| 阿拉善左旗| 武功县| 石家庄市| 通州市| 清苑县| 马关县|