成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

LINQ to DataSet簡介及概念

開發 后端
本文介紹了LINQ to DataSet的基本概念。使用 LINQ to DataSet 可以更快更容易地查詢在 DataSet 對象中緩存的數據。

使用 LINQ to DataSet 可以更快更容易地查詢在 DataSet 對象中緩存的數據。具體而言,通過使開發人員能夠使用編程語言本身而不是通過使用單獨的查詢語言來編寫查詢,LINQ to DataSet 可以簡化查詢。對于現在可以在其查詢中利用 Visual Studio 所提供的編譯時語法檢查、靜態類型和 IntelliSense 支持的 Visual Studio 開發人員,這特別有用。

LINQ to DataSet 也可用于查詢從一個或多個數據源合并的數據。這可以使許多需要靈活表示和處理數據的方案(例如查詢本地聚合的數據和 Web 應用程序中的中間層緩存)能夠實現。具體地說,一般報告、分析和業務智能應用程序將需要這種操作方法。

LINQ to DataSet 功能主要通過 DataRowExtensions 和 DataTableExtensions 類中的擴展方法公開。LINQ to DataSet 基于并使用現有的 ADO.NET 2.0 體系結構生成,在應用程序代碼中不能替換 ADO.NET 2.0。現有的 ADO.NET 2.0 代碼將繼續在 LINQ to DataSet 應用程序中有效。下圖闡釋了 LINQ to DataSet 與 ADO.NET 2.0 和數據存儲區的關系。

LINQ to DataSet 與 ADO.NET 2.0 和數據存儲區的關系 

LINQ to DataSet概念

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

DataSet 雖然具有突出的優點,但其查詢功能也存在限制。 Select 方法可用于篩選和排序, GetChildRows 和 GetParentRow 方法可用于層次結構導航。 但對于更復雜的情況,開發人員必須編寫自定義查詢。 這會使應用程序性能低下并且難以維護。

使用 LINQ to DataSet 可以更快更容易地查詢在 DataSet 對象中緩存的數據。 這些查詢用編程語言本身表示,而不表示為嵌入在應用程序代碼中的字符串。 這意味著開發人員不必學習單獨的查詢語言。 此外,LINQ to DataSet 可使 Visual Studio 開發人員的工作效率更高,因為 Visual Studio IDE 提供編譯時語法檢查、靜態類型化和對 LINQ 的 IntelliSense 支持。 LINQ to DataSet 也可用于查詢從一個或多個數據源合并的數據。 這可以使許多需要靈活表示和處理數據的方案能夠實現。 具體地說,一般報告、分析和業務智能應用程序將需要這種操作方法。

使用 LINQ to DataSet 查詢數據集

只有在填充 DataSet 后,您才能開始使用 LINQ to DataSet 來查詢 DataSet 對象。 向 DataSet 中加載數據有多種方法,如使用 DataAdapter 類或 LINQ to SQL。 將數據加載到 DataSet 對象后,可以開始查詢數據。 使用 LINQ to DataSet 來表述查詢類似于對其他啟用 LINQ 的數據源使用語言集成查詢 (LINQ)。LINQ 查詢可以對 DataSet 中的單個表執行,也可以通過使用 Join 和 GroupJoin 標準查詢運算符對多個表執行。

支持對類型化和非類型化 DataSet 對象執行 LINQ 查詢。 如果在應用程序設計時已知 DataSet 的架構,則建議使用類型化 DataSet。 在類型化 DataSet 中,表和行對每個列都具有類型化成員,從而使查詢更簡單并且更具可讀性。

除了 System.Core.dll 中實現的標準查詢運算符外,LINQ to DataSet 還添加了多種 DataSet 特定擴展,從而可以更容易地查詢一組 DataRow 對象。 這些 DataSet 特定擴展包括用于比較行序列的運算符以及用于訪問 DataRow 的列值的方法。

N 層應用程序和 LINQ to DataSet

N 層數據應用程序是以數據為中心的應用程序,分為多個邏輯層(或層)。 典型的 N 層應用程序包括一個表示層、一個中間層和一個數據層。 將應用程序組件分離到不同的層可提高應用程序的可維護性和可伸縮性。 有關 N 層數據應用程序的更多信息,請參見 N 層數據應用程序。

在 N 層應用程序中, DataSet 通常用于中間層以緩存 Web 應用程序的信息。 LINQ to DataSet 查詢功能通過擴展方法實現,并擴展現有的 ADO.NET 2.0 DataSet。

下面的關系圖演示 LINQ to DataSet 如何與 DataSet 相關并適應 N 層應用程序:

LINQ to DataSet 如何與 DataSet 相關并適應 N 層應用程序 

【編輯推薦】

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

2009-09-08 17:57:54

LINQ to Dat

2009-09-15 13:59:18

LINQ to Dat

2009-09-08 17:27:18

LINQ to Dat

2009-08-27 10:14:04

LINQ基礎概念

2009-09-08 09:37:03

LINQ重要組成部分

2010-06-23 16:35:50

Linux Bash

2009-08-25 17:49:07

C#入門

2009-06-10 18:19:09

Android平臺簡史Android平臺簡介

2011-08-31 10:12:26

MTK手機平臺

2010-04-22 11:47:58

集群負載均衡

2009-06-30 14:08:00

Hibernate緩存

2009-08-27 13:56:03

IEnumerable

2009-09-17 13:54:26

LINQ to XML

2012-09-11 13:44:41

MooseFS系統

2009-06-26 16:19:32

Hibernate實現

2009-06-12 14:40:38

Hibernate AHibernate接口

2011-03-29 09:30:12

Cacti

2009-09-17 13:30:32

LINQ to XML

2009-03-30 10:17:33

JBoss工具包JBossEclipse

2017-08-18 14:01:44

大數據dataWrangle
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美情趣视频 | 亚洲综合在线播放 | 久久久久亚洲 | 激情视频一区 | 成人欧美一区二区三区黑人孕妇 | 国产福利在线播放 | 国外成人在线视频网站 | 欧美一级二级在线观看 | 日本一区高清 | 成人av免费看 | 国产伦精品一区二区三区照片91 | 91精品国产高清一区二区三区 | 成人在线免费视频 | 成人在线播放 | 中文字幕一区二区不卡 | 91在线观看 | 成人综合一区二区 | 精品国产91乱码一区二区三区 | 亚洲天堂一区二区 | 中文字幕在线播放第一页 | 久久综合久色欧美综合狠狠 | 婷婷色国产偷v国产偷v小说 | 国产精品视频偷伦精品视频 | 欧美国产视频 | 亚洲视频在线一区 | 亚洲国产精品人人爽夜夜爽 | 久久99深爱久久99精品 | 国产大毛片| 91久久久久久久久 | 三级视频久久 | 久久综合久久自在自线精品自 | 久久最新| 中文字字幕一区二区三区四区五区 | 性色av网站 | 成人网av | 国产精品污www在线观看 | 国产成人精品一区二区三区视频 | 岛国av一区二区 | 中文字幕在线视频观看 | 日韩在线免费观看视频 | 国产视频一区二区 |