共用方式為


在 Visual Basic Express 中使用 LINQ

更新:2007 年 11 月

應用程式經常會使用 SQL 資料庫或 XML 文件中的資料。身為開發人員,您過去必須學習其他輔助語言 (如 SQL 或 Xquery ),才能運用這些資料。Language-Integrated Query (LINQ) 已將查詢功能融入 Visual Basic 語言當中,您不需要學習完全不同的查詢語言。現在,只要運用現有的 Visual Basic 知識,再加上一些額外的關鍵字和概念,就能查詢 SQL 資料庫、ADO.NET 資料集、XML 文件,以及任何實作 IEnumerable 介面的 .NET Framework 集合類別。

使用 LINQ 的優點

  • 使用熟悉的語法撰寫查詢

  • 編譯時期的語法錯誤和型別安全檢查

  • 改進的偵錯工具支援

  • IntelliSense 支援

  • 可以直接處理 XML 項目,而不需像 W3C 文件物件模型 (DOM) 一樣必須建立容器 (Container) XML 文件

  • 記憶體中 XML 文件修改,不僅功能強大,而且比 XPath 或 XQuery 更容易使用

  • 強大的篩選、排序和分組功能

  • 使用各種資料來源和格式之資料時的一致模型

撰寫 LINQ 查詢

不論使用 ADO.NET 資料集、SQL 資料庫、.NET Framework 集合還是 XML 文件,LINQ 查詢的基本結構都相同。「查詢運算式」(Query Expression) 以 From 子句為開頭,後面接著 Where、Select 這類的查詢子句。完整運算式會儲存在可多次執行或修改的查詢變數中。查詢運算式的語法就類似 SQL 語法。例如,您可以使用下列語法撰寫 LINQ 查詢,傳回學生資料庫中所有主修 Science 的學生:

Dim StudentQuery = From student in studentApp.students 
    Where student.Major = "Science" _
    Select student

如需詳細資訊,請參閱查詢 (Visual Basic)撰寫第一個 LINQ 查詢 (Visual Basic)

LINQ 查詢基本上包含三個階段。取得資料來源、定義查詢運算式,以及執行查詢。如需詳細資訊,請參閱撰寫第一個 LINQ 查詢 (Visual Basic)

LINQ to Objects

LINQ to Objects 指的是使用 LINQ 來查詢支援 IEnumerable 的記憶體中資料結構。如需詳細資訊,請參閱 LINQ to Objects

LINQ to SQL

您可以使用 LINQ to SQL,透過以 O/R 設計工具建立的強型別物件層來存取 SQL Server 和 SQL Server Express 資料庫。

您可以使用 O/R 設計工具將 LINQ to SQL 類別對應至資料庫中的資料表,然後撰寫 LINQ 查詢將資料繫結至應用程式中的控制項。例如,下列 LINQ 查詢會將 LINQ 查詢的結果 (所有美國客戶) 繫結至 DataGridView 控制項的繫結來源。

Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
    Where customers.Country = "US" _
    Select customers

CustomerBindingSource.DataSource = CustomersQuery

如需詳細資訊,請參閱 LINQ to SQLO/R 設計工具概觀建立 LINQ to SQL 類別:使用 O/R 設計工具使用 LINQ 將資料繫結至控制項

注意事項:

O/R 設計工具目前不支援 SQL Server Compact 3.5 資料庫。如需如何取得 SQL Server Express Edition 的詳細資訊,請參閱 HOW TO:安裝範例資料庫中的<取得 SQL Server Express Edition>一節。

LINQ to DataSet

DataSet 可用來將資料繫結至應用程式中的控制項。您可以使用 DataSet 建立供應用程式使用的資料離線快取 (其中可能包含數個資料來源的子集),而不是直接連接至控制項。在應用程式上線時,DataSet 中的變更就可以更新至資料庫。

LINQ to DataSet 使對快取資料的查詢比 DataSet 提供的篩選和排序方法更快速簡易。如需詳細資訊,請參閱 LINQ to DataSet

LINQ to XML

LINQ to XML 可讓您使用 LINQ 查詢運算式輕鬆地建立及修改 XML 文件,而不需要額外學習 XPath 或 XQuery。LINQ to XML 是一種用於 XML 的新記憶體內 API,使用的是現今的程式設計結構,而不是 W3C DOM。如需詳細資訊,請參閱Visual Basic 中的 LINQ to XML 概觀讓程式碼直接包含 XML:使用 XML 常值Visual Basic 中的語言整合式座標軸 (LINQ to XML)

請參閱

概念

使用者入門 (LINQ to SQL)

其他資源

使用 Visual Basic 撰寫 LINQ 入門

使用者入門 (LINQ to DataSet)

使用者入門 (LINQ to XML)