基于方法的查询语法示例:元素运算符 (LINQ to DataSet)
更新:November 2007
本主题中的示例演示如何使用 First 方法以便使用基于方法的查询语法来获取 DataSet 中的 DataRow 元素。
这些示例中所使用的 FillDataSet 方法已在 向数据集中加载数据 中指定。
本主题中的示例使用 AdventureWorks 示例数据库中的 Contact、Address、Product、SalesOrderHeader 和 SalesOrderDetail 表。
本主题中的示例使用下面的 using/Imports 语句:
Option Explicit On
Imports System
Imports System.Linq
Imports System.Linq.Expressions
Imports System.Collections.Generic
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.Globalization
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Globalization;
有关更多信息,请参见如何:在 Visual Studio 中创建 LINQ to DataSet 项目。
First
示例
此示例使用 First 方法来查找以“caroline”开头的第一个电子邮件地址。
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim contacts As DataTable = ds.Tables("Contact")
Dim startsWith As DataRow = contacts.AsEnumerable(). _
First(Function(contact) contact.Field(Of String) _
("EmailAddress").StartsWith("caroline"))
Console.WriteLine("An email address starting with 'caroline': {0}", _
startsWith.Field(Of String)("EmailAddress"))
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable contacts = ds.Tables["Contact"];
DataRow startsWith = contacts.AsEnumerable().
First(contact => contact.Field<string>("EmailAddress").StartsWith("caroline"));
Console.WriteLine("An email address starting with 'caroline': {0}",
startsWith.Field<string>("EmailAddress"));