新聞中心
要想更好地了解LINQ,首先需要了解LINQ基礎(chǔ)概念。LINQ,全稱語(yǔ)言級(jí)集成查詢(Language INtegrated Query),包含DLinq和XLinq。LINQ的出現(xiàn)主要是為了解決降低訪問(wèn)和整合信息數(shù)據(jù)( accessing and integrating information )的復(fù)雜度的問(wèn)題。

LINQ基礎(chǔ)概念中最重要的是兩個(gè)類(lèi)和兩個(gè)接口。
IEnumerable 接口:它表示可以查詢的數(shù)據(jù)集合,一個(gè)查詢通常是逐個(gè)對(duì)集合中的元素進(jìn)行篩選操作,返回一個(gè)新的IEnumerable 對(duì)象,用來(lái)保存查詢結(jié)果。
IQuerable 接口:它繼承IEumerable 接口,表示一個(gè)可以查詢的表達(dá)式目錄樹(shù)。
Enumerable類(lèi),它通過(guò)對(duì)IEnumerable 提供擴(kuò)展方法,實(shí)現(xiàn)LINQ標(biāo)準(zhǔn)查詢運(yùn)算符。包括過(guò)濾、導(dǎo)航、排序、查詢、聯(lián)接、求和、求***值、求最小值等操作。
Queryable類(lèi):它通過(guò)對(duì)IQueryable 提供擴(kuò)展方法,實(shí)現(xiàn)LINQ標(biāo)準(zhǔn)查詢運(yùn)算符。包括過(guò)濾、導(dǎo)航、排序、查詢、聯(lián)接、求和、求***值、求最小值等操作。
根據(jù)數(shù)據(jù)源類(lèi)型,可以將LINQ技術(shù)分成如下所述的4個(gè)主要技術(shù)方向。
LINQ to Object:數(shù)據(jù)源為實(shí)現(xiàn)了接口IEnumerable 或IQeryable 的內(nèi)存數(shù)據(jù)集合,這也是LINQ的基礎(chǔ)。
LINQ to ADO.NET:數(shù)據(jù)源為ADO.NET數(shù)據(jù)集,這里將數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)映射到類(lèi)結(jié)構(gòu),并通過(guò)ADO.NET從數(shù)據(jù)庫(kù)中獲取到數(shù)據(jù)集到內(nèi)存中,通過(guò)LINQ進(jìn)行數(shù)據(jù)查詢。
LINQ to XML:數(shù)據(jù)源為XML文檔,這里通過(guò)XElement、XAttribute等類(lèi)將XML文檔數(shù)據(jù)加載到內(nèi)存中,通過(guò)LINQ進(jìn)行數(shù)據(jù)查詢。
除了這3種常見(jiàn)的數(shù)據(jù)類(lèi)型外,.NET3.5還為用戶擴(kuò)展LINQ提供了支持,用戶可以根據(jù)需要實(shí)現(xiàn)第三方的LINQ支持程序,然后通過(guò)LINQ獲取自定義的數(shù)據(jù)源。
本文來(lái)自Kevin的博客園博文《LINQ基礎(chǔ)概念》
當(dāng)前題目:LINQ基礎(chǔ)概念總結(jié)
鏈接分享:http://www.5511xx.com/article/cdcigep.html


咨詢
建站咨詢
