LINQ 簡介

Language-Integrated Query (LINQ) 對開發人員來說是一個突破性創舉,它填補了物件與資料之間的差距。

 

傳統上,資料查詢是以簡單的字串表示,既不會在編譯時期進行型別檢查,也不支援 IntelliSense。此外,您還必須針對每種資料來源學習不同的查詢語言:SQL 資料庫、XML 文件、各種 Web 服務等等。LINQ 將「查詢」(Query) 只要使用語言關鍵字和您熟悉的運算子,就可以針對強型別的物件集合撰寫查詢。

 

簡而言之,LINQ 設計的目的即是希望開發人員可以不用再去學習一堆不同的資料操作的語法。使用 LINQ 時,可以不用管後端的資料來源為何,皆可以用 LINQ 來做操作。

 

下圖顯示針對 SQL Server 資料庫以 C# 撰寫的局部完成 LINQ 查詢,其中有完整的型別檢查以及 IntelliSense 支援。

具有 Intellisense 的 LINQ 查詢

在 Visual Studio 中,您可以使用 Visual Basic 或 C# 針對下列項目撰寫 LINQ 查詢:SQL Server 資料庫、XML 文件、ADO.NET Dataset,以及任何由支援 IEnumerable 或泛型 IEnumerable<(Of <(T>)>) 介面的物件組成的集合。同時也規劃有 ADO.NET Entity Framework 的 LINQ 支援。

 

您可以將 LINQ 查詢用在新專案中,也可以與現有專案中的非 LINQ 查詢一起使用。唯一條件是專案必須使用 .NET Framework 3.5 或以上的版本。