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

LINQ查詢(xún)操作全面分析

開(kāi)發(fā) 后端
這里介紹LINQ查詢(xún)操作由三個(gè)操作組成,包括獲取數(shù)據(jù)源、創(chuàng)建查詢(xún)和執(zhí)行查詢(xún):執(zhí)行查詢(xún)有兩種情況,1是延遲執(zhí)行;2是立即執(zhí)行。

學(xué)習(xí)LINQ查詢(xún)時(shí),經(jīng)常會(huì)遇到LINQ查詢(xún)操作問(wèn)題,這里將介紹LINQ查詢(xún)操作問(wèn)題的解決方法。

語(yǔ)言集成查詢(xún) (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一項(xiàng)突破性的創(chuàng)新,它在對(duì)象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁。

傳統(tǒng)上,針對(duì)數(shù)據(jù)的查詢(xún)都是以簡(jiǎn)單的字符串表示,而沒(méi)有編譯時(shí)類(lèi)型檢查或 IntelliSense 支持。此外,您還必須針對(duì)以下各種數(shù)據(jù)源學(xué)習(xí)不同的查詢(xún)語(yǔ)言:SQL 數(shù)據(jù)庫(kù)、XML 文檔、各種 Web 服務(wù)等。LINQ 使查詢(xún)成為 C# 和 Visual Basic 中的一等語(yǔ)言構(gòu)造。您可以使用語(yǔ)言關(guān)鍵字和熟悉的運(yùn)算符針對(duì)強(qiáng)類(lèi)型化對(duì)象集合編寫(xiě)查詢(xún)。用 C# 語(yǔ)言編寫(xiě)的、不完整的 LINQ 查詢(xún),該查詢(xún)針對(duì) SQL Server 數(shù)據(jù)庫(kù),并具有完全類(lèi)型檢查和 IntelliSense 支持。

LINQ查詢(xún)操作由以下三個(gè)操作組成:

1、獲取數(shù)據(jù)源:支持泛型 IEnumerable(Of (T)) 接口的所有對(duì)象都可以作為L(zhǎng)INQ的數(shù)據(jù)源,包括Array、List等。

2、創(chuàng)建查詢(xún):指定要從數(shù)據(jù)源中檢索的哪些信息,還可以指定在返回這些信息之前如何對(duì)其進(jìn)行排序、分組或結(jié)構(gòu)化。創(chuàng)建(定義)的查詢(xún)通常存儲(chǔ)在變量中,并不會(huì)在定義時(shí)馬上執(zhí)行而是在以后執(zhí)行。所以記?。翰樵?xún)變量本身不會(huì)執(zhí)行任何操作,也不會(huì)返回任何數(shù)據(jù),它只是存儲(chǔ)查詢(xún)定義。

3、執(zhí)行查詢(xún):執(zhí)行查詢(xún)有兩種情況,1是延遲執(zhí)行;2是立即執(zhí)行。

3.1、延遲執(zhí)行:查詢(xún)定義并保存在查詢(xún)定義變量后,不馬上執(zhí)行,而是在后續(xù)需要時(shí)才執(zhí)行。這通常需要使用 For Each 循環(huán)(它返回值序列)或應(yīng)用標(biāo)準(zhǔn)查詢(xún)運(yùn)算符。對(duì)于值序列,可使用 For Each 循環(huán)中的迭代變量(在上一個(gè)示例中為 number)訪問(wèn)所檢索的數(shù)據(jù)。

3.2、立即執(zhí)行:在立即執(zhí)行過(guò)程中,查詢(xún)?cè)诙x時(shí)執(zhí)行。當(dāng)應(yīng)用需要訪問(wèn)查詢(xún)結(jié)果的各個(gè)元素的方法時(shí),就會(huì)觸發(fā)執(zhí)行。通常使用能夠返回單個(gè)值的標(biāo)準(zhǔn)查詢(xún)運(yùn)算符之一來(lái)強(qiáng)制立即執(zhí)行。Count、Max、Average 和 First 就屬于標(biāo)準(zhǔn)查詢(xún)運(yùn)算符。只要應(yīng)用了這些標(biāo)準(zhǔn)查詢(xún)運(yùn)算符以便計(jì)算并返回單一實(shí)例結(jié)果,這些運(yùn)算符就會(huì)立即執(zhí)行查詢(xún)。例如:

  1. Dim numbers中的偶數(shù)個(gè)數(shù) = (From num In numbers _  
  2. Where num Mod 2 = 0 _  
  3. Select num).Count() 

還可通過(guò)對(duì)查詢(xún)(立即執(zhí)行)或查詢(xún)變量(延遲執(zhí)行)調(diào)用 ToList 或 ToArray 方法來(lái)強(qiáng)制執(zhí)行查詢(xún),如下面的代碼所示:

  1. Dim evensList = (From num In numbers _  
  2. Where num Mod 2 = 0 _  
  3. Select num).ToList() 

以上介紹LINQ查詢(xún)操作

【編輯推薦】

  1. Linq表達(dá)式樹(shù)簡(jiǎn)單介紹
  2. Linq和dLinq區(qū)別剖析
  3. Lambda表達(dá)式和Linq查詢(xún)淺析
  4. Linq Lambda表達(dá)式概括
  5. Linq查詢(xún)本質(zhì)簡(jiǎn)單分析
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-09-17 17:03:13

LINQ動(dòng)態(tài)查詢(xún)

2009-09-16 10:38:43

LINQ查詢(xún)

2009-09-17 13:15:20

LINQ查詢(xún)

2009-09-16 17:41:56

Linq延時(shí)執(zhí)行

2009-09-14 10:13:02

LINQ查詢(xún)操作

2009-09-15 10:46:04

LINQ to SQL

2009-09-14 10:09:26

LINQ查詢(xún)結(jié)果

2009-09-17 09:44:54

Linq Lambda

2009-09-10 14:47:53

Linq .NET查詢(xún)

2009-09-16 15:41:45

LINQ查詢(xún)XML文檔

2009-09-18 16:46:15

LINQ查詢(xún)句法

2009-09-14 18:53:27

LINQ查詢(xún)

2009-09-15 14:58:26

Linq查詢(xún)本質(zhì)

2009-09-15 17:16:58

LINQ查詢(xún)操作符

2009-09-11 13:29:31

LINQ查詢(xún)操作

2009-09-08 10:57:55

LINQ查詢(xún)操作

2009-09-18 16:20:36

LINQ基礎(chǔ)

2009-09-09 14:40:43

Linq to sql

2009-09-11 12:13:40

LINQ to SQL

2009-09-16 17:21:53

LINQ遍歷
點(diǎn)贊
收藏

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