Bagikan melalui


Contoh Sintaks Ekspresi Kueri: Operator Elemen (LINQ ke Himpunan Data)

Contoh dalam topik ini menunjukkan cara menggunakan metode First dan ElementAt untuk mendapatkan elemen DataRow dari DataSet menggunakan sintaks ekspresi kueri.

Metode FillDataSet yang digunakan dalam contoh ini ditentukan dalam Memuat Data Ke Dalam DataSet.

Contoh dalam topik ini menggunakan tabel Kontak, Alamat, Produk, SalesOrderHeader, dan SalesOrderDetail dalam database sampel AdventureWorks.

Contoh dalam topik ini menggunakan pernyataan using/Imports berikut:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.Linq;
using System.Windows.Forms;
Option Explicit On

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

Untuk informasi selengkapnya, lihat Cara: Membuat LINQ ke Himpunan Data Project Di Visual Studio.

ElementAt

Contoh

Contoh ini menggunakan metode ElementAt untuk mengambil alamat ke lima di mana PostalCode == "M4B 1V7".

// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);

DataTable addresses = ds.Tables["Address"];

var fifthAddress = (
    from address in addresses.AsEnumerable()
    where address.Field<string>("PostalCode") == "M4B 1V7"
    select address.Field<string>("AddressLine1"))
.ElementAt(5);

Console.WriteLine("Fifth address where PostalCode = 'M4B 1V7': {0}",
    fifthAddress);
' 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 addresses As DataTable = ds.Tables("Address")

Dim fifthAddress = ( _
    From address In addresses.AsEnumerable() _
    Where address.Field(Of String)("PostalCode") = "M4B 1V7" _
    Select address.Field(Of String)("AddressLine1")).ElementAt(5)

Console.WriteLine("Fifth address where PostalCode = 'M4B 1V7': " & _
        fifthAddress)

First

Contoh

Contoh ini menggunakan metode First untuk mengembalikan kontak pertama yang nama depannya adalah 'Brooke'.

// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);

DataTable contacts = ds.Tables["Contact"];

DataRow query = (
    from contact in contacts.AsEnumerable()
    where (string)contact["FirstName"] == "Brooke"
    select contact)
    .First();

Console.WriteLine("ContactID: " + query.Field<int>("ContactID"));
Console.WriteLine("FirstName: " + query.Field<string>("FirstName"));
Console.WriteLine("LastName: " + query.Field<string>("LastName"));
' 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 query = ( _
    From contact In contacts.AsEnumerable() _
    Where contact.Field(Of String)("FirstName") = "Brooke" _
    Select contact).First()

Console.WriteLine("ContactID: " & query.Field(Of Integer)("ContactID"))
Console.WriteLine("FirstName: " & query.Field(Of String)("FirstName"))
Console.WriteLine("LastName: " & query.Field(Of String)("LastName"))

Lihat juga