偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

LINQ和ADO.NET技術(shù)概述

開發(fā) 后端
本文對(duì)LINQ和ADO.NET技術(shù)進(jìn)行了一些介紹:介紹了ADO.NET LINQ 技術(shù)如何關(guān)聯(lián)到高級(jí)編程語(yǔ)言和啟用 LINQ 的數(shù)據(jù)源,以及三種LINQ技術(shù)的特點(diǎn)。

LINQ和ADO.NET

如今,許多業(yè)務(wù)開發(fā)人員都必須使用兩種(或多種)編程語(yǔ)言:用于業(yè)務(wù)邏輯和表示層的高級(jí)語(yǔ)言(如 Visual C# 或 Visual Basic)和可與數(shù)據(jù)庫(kù)交互的查詢語(yǔ)言(如 Transact-SQL)。這要求開發(fā)人員精通多種語(yǔ)言才能奏效,同時(shí)也導(dǎo)致在開發(fā)環(huán)境中語(yǔ)言不匹配。例如,使用數(shù)據(jù)訪問 API 對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢的應(yīng)用程序會(huì)將查詢指定為用引號(hào)括起的字符串。編譯器不能讀取此查詢字符串,因此不會(huì)檢查是否有錯(cuò)誤,如語(yǔ)法無(wú)效或引用的列或行是否實(shí)際存在。不會(huì)檢查查詢參數(shù)的類型,也不支持 IntelliSense。

語(yǔ)言集成查詢 (LINQ) 使開發(fā)人員能夠在應(yīng)用程序代碼中形成基于集合的查詢,而不必使用單獨(dú)的查詢語(yǔ)言。您可以編寫針對(duì)各種可枚舉數(shù)據(jù)源(即實(shí)現(xiàn) IEnumerable 接口的數(shù)據(jù)源)的 LINQ 查詢,可枚舉數(shù)據(jù)源包括駐留在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、XML 文檔、SQL 數(shù)據(jù)庫(kù)和 DataSet 對(duì)象等。雖然這些可枚舉數(shù)據(jù)源以多種方式實(shí)現(xiàn),但它們都公開相同的語(yǔ)法和語(yǔ)言構(gòu)造。由于可以使用編程語(yǔ)言本身形成查詢,因此您不必使用編譯器無(wú)法理解或驗(yàn)證的以字符串形式嵌入的其他查詢語(yǔ)言。通過提供編譯時(shí)類型和語(yǔ)法檢查以及 IntelliSense,將查詢集成到編程語(yǔ)言也使 Visual Studio 程序員的工作更有效。這些功能降低了對(duì)查詢調(diào)試和錯(cuò)誤修復(fù)的需求。

有三種獨(dú)立的 ADO.NET 語(yǔ)言集成查詢 (LINQ) 技術(shù):LINQ to DataSet、LINQ to SQL 和 LINQ to Entities。LINQ to DataSet 提供針對(duì) DataSet 的形式多樣的優(yōu)化查詢,LINQ to SQL 使您可以直接查詢 SQL Server 數(shù)據(jù)庫(kù)架構(gòu),而 LINQ to Entities 允許您查詢 實(shí)體數(shù)據(jù)模型。

將數(shù)據(jù)從 SQL 表傳輸?shù)絻?nèi)存中的對(duì)象通常單調(diào)乏味并容易出錯(cuò)。由 LINQ to DataSet 和 LINQ to SQL 實(shí)現(xiàn)的 LINQ 提供程序可以將源數(shù)據(jù)轉(zhuǎn)換為基于 IEnumerable 的對(duì)象集合。在您查詢數(shù)據(jù)和更新數(shù)據(jù)時(shí),程序員始終會(huì)以 IEnumerable 集合的形式查看這些數(shù)據(jù)。為編寫針對(duì)這些集合的查詢提供完全的 IntelliSense 支持。

LINQ和ADO.NET:關(guān)系圖

下面的關(guān)系圖概述了 ADO.NET LINQ 技術(shù)如何關(guān)聯(lián)到高級(jí)編程語(yǔ)言和啟用 LINQ 的數(shù)據(jù)源。

LINQ和ADO.NET 

下面各節(jié)提供有關(guān) LINQ to DataSet、LINQ to SQL 和 LINQ to Entities 的更多信息。

LINQ to DataSet

DataSet 是賴以生成 ADO.NET 的斷開連接式編程模型的關(guān)鍵元素,使用非常廣泛。LINQ to DataSet 使開發(fā)人員能夠通過使用許多其他數(shù)據(jù)源可用的同樣的查詢表述機(jī)制在 DataSet 中內(nèi)置更豐富的查詢功能。

LINQ to SQL

LINQ to SQL 是適合不需要映射到概念模型的開發(fā)人員使用的有用工具。通過使用 LINQ to SQL,您可以直接在現(xiàn)有數(shù)據(jù)庫(kù)架構(gòu)上直接使用 LINQ 編程模型。LINQ to SQL 使開發(fā)人員能夠生成表示數(shù)據(jù)的 .NET Framework 類。這些生成的類直接映射到數(shù)據(jù)庫(kù)表、視圖、存儲(chǔ)過程和用戶定義的函數(shù),而不映射到概念數(shù)據(jù)模型。

使用 LINQ to SQL 時(shí),除了其他數(shù)據(jù)源(如 XML)外,開發(fā)人員還可以使用與內(nèi)存集合和 DataSet 相同的 LINQ 編程模式直接編寫針對(duì)存儲(chǔ)架構(gòu)的代碼。

LINQ to Entities

大多數(shù)應(yīng)用程序目前是在關(guān)系數(shù)據(jù)庫(kù)之上編寫的。有時(shí)這些應(yīng)用程序?qū)⑿枰c以關(guān)系形式表示的數(shù)據(jù)進(jìn)行交互。數(shù)據(jù)庫(kù)架構(gòu)并不總是構(gòu)建應(yīng)用程序的理想選擇,并且應(yīng)用程序的概念模型與數(shù)據(jù)庫(kù)的邏輯模型不同。實(shí)體數(shù)據(jù)模型 是可用于對(duì)特定域的數(shù)據(jù)進(jìn)行建模的概念數(shù)據(jù)模型,以便應(yīng)用程序可作為對(duì)象與數(shù)據(jù)進(jìn)行交互。

通過 實(shí)體數(shù)據(jù)模型,在 .NET 環(huán)境中將關(guān)系數(shù)據(jù)作為對(duì)象公開。這樣,對(duì)象層就成為 LINQ 支持的理想目標(biāo),從而允許開發(fā)人員通過用于構(gòu)建業(yè)務(wù)邏輯的語(yǔ)言編寫對(duì)數(shù)據(jù)庫(kù)的查詢。

以上就介紹了LINQ和ADO.NET的關(guān)系以及一些技術(shù)方面的簡(jiǎn)介。

【編輯推薦】

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

2009-09-14 13:37:25

LINQ ADO.NE

2009-04-02 13:29:41

LINQSilverlightADO.NET

2009-11-13 08:59:30

2009-11-12 10:32:47

ADO.NET技術(shù)

2009-12-28 15:11:36

ADO.NET專家

2009-12-22 17:43:26

ADO.Net技術(shù)

2009-12-31 16:04:39

ADO.NET技術(shù)

2009-12-29 15:44:11

ADO.NET檢索技術(shù)

2012-05-10 11:25:34

LINQ

2009-12-28 15:38:36

ADO.NET分頁(yè)

2024-06-18 13:17:02

數(shù)據(jù)庫(kù)框架

2009-12-24 11:12:29

ADO.Net技術(shù)

2011-05-20 11:31:07

ADO.NET

2009-11-04 17:22:30

ADO.NET數(shù)據(jù)訪問

2009-11-03 16:37:10

2009-11-03 17:25:59

ADO.NET編程技巧

2009-10-29 13:34:01

ADO.NET對(duì)象

2009-11-12 14:37:26

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

2009-11-12 13:26:56

使用ADO.NET參數(shù)

2009-08-20 18:44:54

C#和ADO.NET
點(diǎn)贊
收藏

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