使用LINQ查詢簡單描述
在向大家詳細(xì)介紹使用LINQ查詢之前,首先讓大家了解下.NET 語言集成查詢 (LINQ),然后全面介紹使用LINQ查詢。
二十年之后,業(yè)界在面向?qū)ο?(OO) 編程技術(shù)的發(fā)展過程中趨于穩(wěn)定?,F(xiàn)在,程序員已經(jīng)認(rèn)為諸如類、對象和方法等特性是理所當(dāng)然的。在探究當(dāng)前的和下一代技術(shù)時(shí),明顯可以看出,有關(guān)編程技術(shù)的下一個(gè)難題是降低訪問和集成特定信息(這些信息不是使用 OO 技術(shù)進(jìn)行原始定義的)的復(fù)雜性。非 OO 信息的兩個(gè)最常見源是關(guān)系數(shù)據(jù)庫和 XML
.NET Language Integrated Query (LINQ):采用通用方案來解決各種信息源的訪問與整合問題,對于 LINQ 項(xiàng)目,我們采取了更為普通的方法,并向 .NET Framework 中添加了適用于所有信息源(而不只是關(guān)系數(shù)據(jù)或 XML 數(shù)據(jù))的通用查詢工具,而不是在編程語言和運(yùn)行庫中添加相關(guān)功能或特定于 XML 的功能。該工具名為 .NET 語言集成查詢 (LINQ)。
語言集成查詢使得查詢表達(dá)式 能夠得益于豐富的元數(shù)據(jù)、編譯時(shí)語法檢查、靜態(tài)輸入和智能感知。我們使用語言集成查詢 這一術(shù)語表明,該查詢是開發(fā)人員主要編程語言(例如,C#、Visual Basic)的集成功能。語言集成查詢使得查詢表達(dá)式 能夠得益于豐富的元數(shù)據(jù)、編譯時(shí)語法檢查、靜態(tài)輸入和智能感知(以前只能用于命令代碼)。語言集成查詢還允許將單個(gè)通用的聲明查詢工具應(yīng)用于所有內(nèi)存中信息,而不只是來自外部源的信息
標(biāo)準(zhǔn)查詢操作符,允許在任何基于 .NET 的編程語言中通過直接的聲明方式進(jìn)行遍歷、篩選和投影等操作。共有兩組 LINQ 標(biāo)準(zhǔn)查詢運(yùn)算符,一組在類型為 IEnumerable(Of (T)) 的對象上運(yùn)行(內(nèi)存中集合上運(yùn)行),返回的可枚舉對象將捕獲傳遞到方法的參數(shù);另一組在類型為 IQueryable(Of (T))的對象上運(yùn)行,擴(kuò)展 IQueryable<(Of <(T>)>) 的方法不會(huì)實(shí)現(xiàn)任何查詢行為,但會(huì)生成一個(gè)表示要執(zhí)行的查詢的表達(dá)式目錄樹
◆LINQ to Objects:是指直接對任意 IEnumerable 或 IEnumerable(Of (T)) 集合使用LINQ查詢,無需使用中間 LINQ 提供程序或 API,如 LINQ to SQL 或 LINQ to XML??梢允褂肔INQ查詢?nèi)魏慰擅杜e的集合,如 List(Of (T))、Array 或 Dictionary(Of (TKey, TValue))。該集合可以是用戶定義的集合,也可以是 .NET Framework API 返回的集合。
◆LINQ to XML: 提供使用 .NET 語言集成查詢 (LINQ) Framework 的內(nèi)存中 XML 編程接口。LINQ to XML 使用***的 .NET Framework 語言功能,相當(dāng)于更新的和重新設(shè)計(jì)的文檔對象模型 (DOM) XML 編程接口。
◆LINQ to ADO.NET:您可以在 ADO.NET 中使用 語言集成查詢 (LINQ) 編程模型查詢?nèi)魏慰擅杜e對象
【編輯推薦】