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

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


咨詢
建站咨詢
