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

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


咨詢
建站咨詢
