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

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

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

LINQ和ADO.NET

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

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

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

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

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

下面的關(guān)系圖概述了 ADO.NET LINQ 技術(shù)如何關(guān)聯(lián)到高級編程語言和啟用 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ù)庫架構(gòu)上直接使用 LINQ 編程模型。LINQ to SQL 使開發(fā)人員能夠生成表示數(shù)據(jù)的 .NET Framework 類。這些生成的類直接映射到數(shù)據(jù)庫表、視圖、存儲過程和用戶定義的函數(shù),而不映射到概念數(shù)據(jù)模型。

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

LINQ to Entities

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

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

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

【編輯推薦】

  1. 什么是ADO.NET:數(shù)據(jù)源的連接樞紐
  2. 淺談如何更好的打開和關(guān)閉ADO.NET連接池
  3. ADO.NET中SQL Server數(shù)據(jù)庫連接池
  4. ADO.NET中的多數(shù)據(jù)表操作讀取
  5. 淺談ADO.NET中的五個主要對象
責(zé)任編輯:yangsai 來源: 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-29 15:44:11

ADO.NET檢索技術(shù)

2009-12-28 15:38:36

ADO.NET分頁

2009-12-31 16:04:39

ADO.NET技術(shù)

2012-05-10 11:25:34

LINQ

2024-06-18 13:17:02

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

2009-12-24 11:12:29

ADO.Net技術(shù)

2009-11-04 17:22:30

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

2009-11-03 16:37:10

2011-05-20 11:31:07

ADO.NET

2009-08-20 18:44:54

C#和ADO.NET

2010-01-04 10:48:30

ADO.NET特色

2009-12-31 09:54:04

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

2009-12-24 11:04:21

ADO.Net技術(shù)

2009-12-30 15:21:55

ADO.NET訪問
點贊
收藏

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