メソッド ベースのクエリ構文例 : 要素演算子 (LINQ to DataSet)
このトピックでは、First メソッドを使用し、メソッド ベースのクエリ構文で DataSet から DataRow 要素を取得する例を取り上げています。
これらの例で使用されている FillDataSet メソッドの指定については、「DataSet へのデータの読み込み」を参照してください。
このトピックの例には、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"));