跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 語言整合查 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
語言整合查
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''語言整合查'''(英語:Language Integrated Query,縮寫:LINQ), 發音 " link ",是微軟的一項技術,新增一種自然查詢的 SQL 語法到 . NET Framework 的程式語言內底,這馬目前可支援 C # 以及 Visual Basic . NET 語言。二空空七年十一月十九隨在 . NET Framework 三-c五發布矣 LINQ 技術。 包括講 LINQ to Objects、LINQ to SQL、LINQ to Datasets、LINQ to Entities、LINQ to Data Source、LINQ to XML / XSD 等。 ==語言風格== LINQ 和語言的多項新增加風格,來展出查詢語言的擴充性。比如講:C # : ===無頭路=== 無頭路(Anonymous type)是 C # 三更零與 Visual Basic 九嬸空新增的功能,伊允准開發人員會使使用無具型別的方式建立新的資料結構,真正的情形莫佇咧編譯時期,由 C # ( 抑是 VB ) Compiler 自動產生,並寫入編譯目的檔中,伊會當予開發人員會當真簡單利用匿名型別建立的物件,LINQ 中的 select 指令就是利用這款特性來建立回傳物件。 匿名類型本質上是表達元組(tuple), 採用值語意。 下列使用匿名型別的程式碼: 會由編譯器改寫: ===擴展方法 ( Extension method )=== ===Lambda 表達式 ( Lambda expression )=== ===表達式樹 ( Expression tree )=== ===查詢表達式語法=== ` ` ` from RangeVariable in IEnumerable < T > 抑是 IQueryable < T > 的 Collection < Standard Query Operators > < lambda expression > < select or groupBy operator > < result formation > ` ` ` ===滑溜語法=== LINQ 查詢的時陣有兩種語法可供選擇:查詢表達式語法(Query Expression)佮流利語法(Fluent Syntax)。 前者使用查詢運算子;後者利用 System . Linq . Enumerable 類中定義的擴充方法和 Lambda 表達式的方式進行查詢。CLR 本身並無理解查詢表達式語法,伊干焦理解滑溜語法。編譯器負責共查詢表達式語法編譯做流利語法。 以下是一个範例 LINQ 方法語法的查詢,倒轉去陣內底的偶數: 對比較輾轉語法佮 C # 的傳統語法: ===標準查詢運算子 ( Standard query operators )=== System . Linq . Enumerable 靜態類別宣告一套標準查詢運算子(Standard Query Operators,SQO)方法集合。基本語法如下: 標準查詢運算子和 Lambda 表達式的關係非常密切。編譯器會欲描述表達式轉化為下述以 Lambda 表達式為參數的顯式擴充方法呼叫序列: ==LINQ 的各式言語支援度== 下列的言語支援 LINQ。 * C # 三-c零 * F # 一孵一 . 八否一 * Visual Basic 兩千空八(九九零) 註:C + + / CLI 猶未支援 LINQ。但是閣有第三方的 C + + 套件,以及第三方的 PHP 套件 ==LINQ 的範例== 一个簡單例: 輸出: 四十九二十五一个例: ==Visual Studio 支援== LINQ 目前由 Visual Studio 兩千空八、二千空一十、二千空一十二、二千空一十三、二千空一十五、二千空一十七、二千空一十九支援。 ==語言擴充== 軟軟仔仝款提供矣 LINQExtender,允准使用者佇咧無了解 LINQ 實現鋩角的情形下,編寫家己的 LINQ 擴充。 如:LINQ to Twitter , LINQ to Oracle , LINQ to Active Directory 等 ==參考文獻== ==外部連結== * Official Microsoft LINQ Project(已經失效) * 一百空一 C # LINQ Samples * 一百空一 Visual Basic LINQ Samples * Microsoft LINQ forum * LINQ page on NetFXGuide . com * LINQ wiki * LINQExtender ==參見== * 物件關聯對映(ORM) [[分類: 待校正]]
返回到「
語言整合查
」。