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

LINQ數(shù)據(jù)源詳細(xì)描述

開(kāi)發(fā) 后端
這里介紹LINQ源數(shù)據(jù)還沒(méi)有作為可查詢(xún)類(lèi)型出現(xiàn)在內(nèi)存中,則 LINQ 提供程序必須以此方式表示源數(shù)據(jù)。

LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ數(shù)據(jù)源,包括介紹LINQ查詢(xún)表達(dá)式等方面。

LINQ數(shù)據(jù)源

在上一個(gè)示例中,由于數(shù)據(jù)源是數(shù)組,因此它隱式支持泛型 IEnumerable<(Of <(T>)>) 接口。這一事實(shí)意味著該數(shù)據(jù)源可以用 LINQ 進(jìn)行查詢(xún)。在 foreach 語(yǔ)句中執(zhí)行查詢(xún),而 foreach 要求使用 IEnumerable 或 IEnumerable<(Of <(T>)>)。支持 IEnumerable<(Of <(T>)>) 或派生接口(如泛型 IQueryable<(Of <(T>)>))的類(lèi)型稱(chēng)為“可查詢(xún)類(lèi)型”。

可查詢(xún)類(lèi)型不需要進(jìn)行修改或特殊處理就可以用作 LINQ數(shù)據(jù)源。如果LINQ源數(shù)據(jù)還沒(méi)有作為可查詢(xún)類(lèi)型出現(xiàn)在內(nèi)存中,則 LINQ 提供程序必須以此方式表示源數(shù)據(jù)。例如,LINQ to XML 將 XML 文檔加載到可查詢(xún)的 XElement 類(lèi)型中:

  1. // Create a data source from an XML document.  
  2. // using System.Xml.Linq;  
  3. XElement contacts = XElement.Load(@"c:\myContactList.xml"); 

在 LINQ to SQL 中,首先手動(dòng)或使用 對(duì)象關(guān)系設(shè)計(jì)器(O/R 設(shè)計(jì)器) 在設(shè)計(jì)時(shí)創(chuàng)建對(duì)象關(guān)系映射。針對(duì)這些對(duì)象編寫(xiě)查詢(xún),然后由 LINQ to SQL 在運(yùn)行時(shí)處理與數(shù)據(jù)庫(kù)的通信。在下面的示例中,Customer 表示數(shù)據(jù)庫(kù)中的特定表,并且 Table 支持派生自 IEnumerable<(Of <(T>)>) 的泛型 IQueryable<(Of <(T>)>) 接口。

  1. DataContext db = new DataContext(@"c:\northwind\northwnd.mdf"); 

有關(guān)如何創(chuàng)建特定類(lèi)型的數(shù)據(jù)源的更多信息,請(qǐng)參見(jiàn)各種 LINQ 提供程序的文檔。但基本規(guī)則非常簡(jiǎn)單:LINQ數(shù)據(jù)源是支持泛型 IEnumerable<(Of <(T>)>) 接口或從該接口繼承的接口的任意對(duì)象。

LINQ查詢(xún)

查詢(xún)指定要從數(shù)據(jù)源中檢索的信息。查詢(xún)還可以指定在返回這些信息之前如何對(duì)其進(jìn)行排序、分組和結(jié)構(gòu)化。查詢(xún)存儲(chǔ)在查詢(xún)變量中,并用查詢(xún)表達(dá)式進(jìn)行初始化。為使編寫(xiě)查詢(xún)的工作變得更加容易,C# 引入了新的查詢(xún)語(yǔ)法。

上一個(gè)示例中的查詢(xún)從整數(shù)數(shù)組中返回所有偶數(shù)。該查詢(xún)表達(dá)式包含三個(gè)子句:from、where 和 select。(如果您熟悉 SQL,您會(huì)注意到這些子句的順序與 SQL 中的順序相反。) from 子句指定數(shù)據(jù)源,where 子句應(yīng)用篩選器,select 子句指定返回的元素的類(lèi)型。LINQ查詢(xún)表達(dá)式(C# 編程指南)一節(jié)中詳細(xì)討論了這些子句和其他查詢(xún)子句。目前需要注意的是,在 LINQ 中,查詢(xún)變量本身不執(zhí)行任何操作并且不返回任何數(shù)據(jù)。它只是存儲(chǔ)在以后某個(gè)時(shí)刻執(zhí)行查詢(xún)時(shí)為生成結(jié)果而必需的信息。有關(guān)在幕后是如何構(gòu)建查詢(xún)的更多信息,請(qǐng)參見(jiàn)標(biāo)準(zhǔn)查詢(xún)運(yùn)算符概述。

【編輯推薦】

  1. LinqDataSource控件剖析
  2. Linq To Sql學(xué)習(xí)經(jīng)驗(yàn)
  3. Linq String類(lèi)型淺析
  4. Linq組合查詢(xún)之集成數(shù)據(jù)庫(kù)語(yǔ)言查詢(xún)
  5. Linq To SQL輸出SQL語(yǔ)句剖析
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-09-14 16:33:55

LINQ To XML

2009-09-14 13:14:49

LINQ序列

2009-09-14 14:58:52

LINQ to XML

2009-09-24 16:19:53

Hibernate應(yīng)用

2009-09-25 14:28:40

Hibernate S

2009-11-18 11:14:49

2010-02-05 16:58:18

Android服務(wù)

2009-09-15 17:15:33

Linq排序

2009-11-05 13:17:32

Visual Stud

2009-08-10 16:40:03

C#索引器

2009-09-25 11:04:32

Hibernate3實(shí)

2010-04-09 17:45:06

Oracle索引

2009-10-15 14:59:45

網(wǎng)絡(luò)布線(xiàn)光纖技術(shù)

2009-08-26 15:53:48

C#擴(kuò)展方法

2009-08-27 15:17:40

C# const變量

2009-09-07 15:15:43

2009-10-10 10:04:50

RHEL合法使用

2010-07-22 10:30:36

SQL Server數(shù)

2010-09-08 15:10:48

2009-10-16 11:02:40

VB調(diào)用動(dòng)態(tài)連接庫(kù)
點(diǎn)贊
收藏

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