LINQ數(shù)據(jù)源的示例分析

這篇文章給大家分享的是有關LINQ數(shù)據(jù)源的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10年積累的成都網(wǎng)站設計、網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有橫峰免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

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

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

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

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

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

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

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

LINQ查詢

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

上一個示例中的查詢從整數(shù)數(shù)組中返回所有偶數(shù)。該查詢表達式包含三個子句:from、where 和 select。(如果您熟悉 SQL,您會注意到這些子句的順序與 SQL 中的順序相反。) from 子句指定數(shù)據(jù)源,where 子句應用篩選器,select 子句指定返回的元素的類型。LINQ查詢表達式(C# 編程指南)一節(jié)中詳細討論了這些子句和其他查詢子句。目前需要注意的是,在 LINQ 中,查詢變量本身不執(zhí)行任何操作并且不返回任何數(shù)據(jù)。它只是存儲在以后某個時刻執(zhí)行查詢時為生成結(jié)果而必需的信息。

感謝各位的閱讀!關于“LINQ數(shù)據(jù)源的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

新聞名稱:LINQ數(shù)據(jù)源的示例分析
網(wǎng)址分享:http://bm7419.com/article42/gihjhc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google定制網(wǎng)站、企業(yè)網(wǎng)站制作域名注冊、手機網(wǎng)站建設、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化