自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ to DataSet簡(jiǎn)介及概念

開(kāi)發(fā) 后端
本文介紹了LINQ to DataSet的基本概念。使用 LINQ to DataSet 可以更快更容易地查詢?cè)?DataSet 對(duì)象中緩存的數(shù)據(jù)。

使用 LINQ to DataSet 可以更快更容易地查詢?cè)?DataSet 對(duì)象中緩存的數(shù)據(jù)。具體而言,通過(guò)使開(kāi)發(fā)人員能夠使用編程語(yǔ)言本身而不是通過(guò)使用單獨(dú)的查詢語(yǔ)言來(lái)編寫(xiě)查詢,LINQ to DataSet 可以簡(jiǎn)化查詢。對(duì)于現(xiàn)在可以在其查詢中利用 Visual Studio 所提供的編譯時(shí)語(yǔ)法檢查、靜態(tài)類(lèi)型和 IntelliSense 支持的 Visual Studio 開(kāi)發(fā)人員,這特別有用。

LINQ to DataSet 也可用于查詢從一個(gè)或多個(gè)數(shù)據(jù)源合并的數(shù)據(jù)。這可以使許多需要靈活表示和處理數(shù)據(jù)的方案(例如查詢本地聚合的數(shù)據(jù)和 Web 應(yīng)用程序中的中間層緩存)能夠?qū)崿F(xiàn)。具體地說(shuō),一般報(bào)告、分析和業(yè)務(wù)智能應(yīng)用程序?qū)⑿枰@種操作方法。

LINQ to DataSet 功能主要通過(guò) DataRowExtensions 和 DataTableExtensions 類(lèi)中的擴(kuò)展方法公開(kāi)。LINQ to DataSet 基于并使用現(xiàn)有的 ADO.NET 2.0 體系結(jié)構(gòu)生成,在應(yīng)用程序代碼中不能替換 ADO.NET 2.0?,F(xiàn)有的 ADO.NET 2.0 代碼將繼續(xù)在 LINQ to DataSet 應(yīng)用程序中有效。下圖闡釋了 LINQ to DataSet 與 ADO.NET 2.0 和數(shù)據(jù)存儲(chǔ)區(qū)的關(guān)系。

LINQ to DataSet 與 ADO.NET 2.0 和數(shù)據(jù)存儲(chǔ)區(qū)的關(guān)系 

LINQ to DataSet概念

DataSet 是更為廣泛使用的 ADO.NET 組件之一。 它是 ADO.NET 所基于的斷開(kāi)連接式編程模型的關(guān)鍵元素,使用它可以顯式緩存不同數(shù)據(jù)源中的數(shù)據(jù)。 在表示層上, DataSet 與 GUI 控件緊密集成,以進(jìn)行數(shù)據(jù)綁定。 在中間層上,它提供保留數(shù)據(jù)關(guān)系形狀的緩存并包括快速簡(jiǎn)單查詢和層次結(jié)構(gòu)導(dǎo)航服務(wù)。 用于減少對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求數(shù)的常用技術(shù)是使用 DataSet 以便在中間層進(jìn)行緩存。 例如,考慮數(shù)據(jù)驅(qū)動(dòng)的 ASP.NET Web 應(yīng)用程序。 通常,應(yīng)用程序的絕大部分?jǐn)?shù)據(jù)不會(huì)經(jīng)常更改,屬于會(huì)話之間或用戶之間的公共數(shù)據(jù)。 此數(shù)據(jù)可以保存在 Web 服務(wù)器的內(nèi)存中,這會(huì)減少對(duì)數(shù)據(jù)庫(kù)的請(qǐng)求數(shù)并加速用戶的交互。 DataSet 的另一個(gè)有用特征是允許應(yīng)用程序?qū)?shù)據(jù)子集從一個(gè)或多個(gè)數(shù)據(jù)源導(dǎo)入應(yīng)用程序空間。 然后,應(yīng)用程序可以在內(nèi)存中操作這些數(shù)據(jù),同時(shí)保留其關(guān)系形狀。

DataSet 雖然具有突出的優(yōu)點(diǎn),但其查詢功能也存在限制。 Select 方法可用于篩選和排序, GetChildRows 和 GetParentRow 方法可用于層次結(jié)構(gòu)導(dǎo)航。 但對(duì)于更復(fù)雜的情況,開(kāi)發(fā)人員必須編寫(xiě)自定義查詢。 這會(huì)使應(yīng)用程序性能低下并且難以維護(hù)。

使用 LINQ to DataSet 可以更快更容易地查詢?cè)?DataSet 對(duì)象中緩存的數(shù)據(jù)。 這些查詢用編程語(yǔ)言本身表示,而不表示為嵌入在應(yīng)用程序代碼中的字符串。 這意味著開(kāi)發(fā)人員不必學(xué)習(xí)單獨(dú)的查詢語(yǔ)言。 此外,LINQ to DataSet 可使 Visual Studio 開(kāi)發(fā)人員的工作效率更高,因?yàn)?Visual Studio IDE 提供編譯時(shí)語(yǔ)法檢查、靜態(tài)類(lèi)型化和對(duì) LINQ 的 IntelliSense 支持。 LINQ to DataSet 也可用于查詢從一個(gè)或多個(gè)數(shù)據(jù)源合并的數(shù)據(jù)。 這可以使許多需要靈活表示和處理數(shù)據(jù)的方案能夠?qū)崿F(xiàn)。 具體地說(shuō),一般報(bào)告、分析和業(yè)務(wù)智能應(yīng)用程序?qū)⑿枰@種操作方法。

使用 LINQ to DataSet 查詢數(shù)據(jù)集

只有在填充 DataSet 后,您才能開(kāi)始使用 LINQ to DataSet 來(lái)查詢 DataSet 對(duì)象。 向 DataSet 中加載數(shù)據(jù)有多種方法,如使用 DataAdapter 類(lèi)或 LINQ to SQL。 將數(shù)據(jù)加載到 DataSet 對(duì)象后,可以開(kāi)始查詢數(shù)據(jù)。 使用 LINQ to DataSet 來(lái)表述查詢類(lèi)似于對(duì)其他啟用 LINQ 的數(shù)據(jù)源使用語(yǔ)言集成查詢 (LINQ)。LINQ 查詢可以對(duì) DataSet 中的單個(gè)表執(zhí)行,也可以通過(guò)使用 Join 和 GroupJoin 標(biāo)準(zhǔn)查詢運(yùn)算符對(duì)多個(gè)表執(zhí)行。

支持對(duì)類(lèi)型化和非類(lèi)型化 DataSet 對(duì)象執(zhí)行 LINQ 查詢。 如果在應(yīng)用程序設(shè)計(jì)時(shí)已知 DataSet 的架構(gòu),則建議使用類(lèi)型化 DataSet。 在類(lèi)型化 DataSet 中,表和行對(duì)每個(gè)列都具有類(lèi)型化成員,從而使查詢更簡(jiǎn)單并且更具可讀性。

除了 System.Core.dll 中實(shí)現(xiàn)的標(biāo)準(zhǔn)查詢運(yùn)算符外,LINQ to DataSet 還添加了多種 DataSet 特定擴(kuò)展,從而可以更容易地查詢一組 DataRow 對(duì)象。 這些 DataSet 特定擴(kuò)展包括用于比較行序列的運(yùn)算符以及用于訪問(wèn) DataRow 的列值的方法。

N 層應(yīng)用程序和 LINQ to DataSet

N 層數(shù)據(jù)應(yīng)用程序是以數(shù)據(jù)為中心的應(yīng)用程序,分為多個(gè)邏輯層(或?qū)樱?典型的 N 層應(yīng)用程序包括一個(gè)表示層、一個(gè)中間層和一個(gè)數(shù)據(jù)層。 將應(yīng)用程序組件分離到不同的層可提高應(yīng)用程序的可維護(hù)性和可伸縮性。 有關(guān) N 層數(shù)據(jù)應(yīng)用程序的更多信息,請(qǐng)參見(jiàn) N 層數(shù)據(jù)應(yīng)用程序。

在 N 層應(yīng)用程序中, DataSet 通常用于中間層以緩存 Web 應(yīng)用程序的信息。 LINQ to DataSet 查詢功能通過(guò)擴(kuò)展方法實(shí)現(xiàn),并擴(kuò)展現(xiàn)有的 ADO.NET 2.0 DataSet。

下面的關(guān)系圖演示 LINQ to DataSet 如何與 DataSet 相關(guān)并適應(yīng) N 層應(yīng)用程序:

LINQ to DataSet 如何與 DataSet 相關(guān)并適應(yīng) N 層應(yīng)用程序 

【編輯推薦】

  1. LINQ和ADO.NET技術(shù)概述
  2. 什么是ADO.NET:數(shù)據(jù)源的連接樞紐
  3. 淺談如何更好的打開(kāi)和關(guān)閉ADO.NET連接池
  4. ADO.NET中SQL Server數(shù)據(jù)庫(kù)連接池
  5. ADO.NET中的多數(shù)據(jù)表操作讀取
責(zé)任編輯:yangsai 來(lái)源: MSDN
相關(guān)推薦

2009-09-08 17:27:18

LINQ to Dat

2009-09-15 13:59:18

LINQ to Dat

2009-09-08 17:57:54

LINQ to Dat

2009-08-27 10:14:04

LINQ基礎(chǔ)概念

2009-09-08 09:37:03

LINQ重要組成部分

2010-06-23 16:35:50

Linux Bash

2009-08-25 17:49:07

C#入門(mén)

2009-06-10 18:19:09

Android平臺(tái)簡(jiǎn)史Android平臺(tái)簡(jiǎn)介

2011-08-31 10:12:26

MTK手機(jī)平臺(tái)

2009-06-30 14:08:00

Hibernate緩存

2010-04-22 11:47:58

集群負(fù)載均衡

2009-08-27 13:56:03

IEnumerable

2009-06-26 16:19:32

Hibernate實(shí)現(xiàn)

2009-06-12 14:40:38

Hibernate AHibernate接口

2012-09-11 13:44:41

MooseFS系統(tǒng)

2011-03-29 09:30:12

Cacti

2009-03-30 10:17:33

JBoss工具包JBossEclipse

2022-09-02 08:33:23

ZooKeeper分布式

2017-08-18 14:01:44

大數(shù)據(jù)dataWrangle

2010-06-12 10:48:45

統(tǒng)一建模語(yǔ)言UML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)