Mengkueri Himpunan Data yang di ketik

Jika skema DataSet diketahui pada waktu desain aplikasi, sebaiknya gunakan DataSet yang diketik saat menggunakan LINQ ke Himpunan Data. DataSet yang diketik adalah kelas yang diturunkan dari DataSet. Dengan demikian, kode ini mewarisi semua metode, peristiwa, dan properti dari DataSet. Selain itu, DataSet yang diketik menyediakan metode, peristiwa, dan properti yang diketik dengan kuat. Artinya, Anda dapat mengakses tabel dan kolom berdasarkan nama, daripada menggunakan metode berbasis koleksi. Ini akan membuat kueri lebih sederhana dan lebih mudah dibaca. Untuk informasi selengkapnya, lihat Himpunan Data Yang Diketik.

LINQ ke Himpunan Data juga mendukung kueri melalui DataSet yang diketik. Dengan DataSet yang diketik, Anda tidak perlu menggunakan metode Field atau metode SetField umum untuk mengakses data kolom. Nama properti tersedia pada waktu kompilasi karena informasi jenis disertakan dalam DataSet. LINQ ke Himpunan Data menyediakan akses ke nilai kolom sebagai jenis yang benar, sehingga kesalahan ketidakcocokan jenis ditangkap saat kode dikompilasi, bukan saat run time.

Sebelum anda bisa mulai mengkueri DataSet yang ditik, Anda harus membuat kelas dengan menggunakan Perancang Himpunan Data di Visual Studio. Untuk informasi selengkapnya, lihat Membuat dan mengonfigurasi Himpunan Data.

Contoh

Contoh berikut menunjukkan kueri pada DataSet yang diketik:

var query = from o in orders
            where o.OnlineOrderFlag == true
            select new { o.SalesOrderID,
                         o.OrderDate,
                         o.SalesOrderNumber };

foreach(var order in query)
{
    Console.WriteLine("{0}\t{1:d}\t{2}",
      order.SalesOrderID,
      order.OrderDate,
      order.SalesOrderNumber);
}
Dim orders = ds.Tables("SalesOrderHeader")

Dim query = _
       From o In orders _
       Where o.OnlineOrderFlag = True _
       Select New {SalesOrderID := o.SalesOrderID, _
                   OrderDate := o.OrderDate, _
                   SalesOrderNumber := o.SalesOrderNumber}

For Each Dim onlineOrder In query
 Console.WriteLine("{0}\t{1:d}\t{2}", _
 onlineOrder.SalesOrderID, _
 onlineOrder.OrderDate, _
 onlineOrder.SalesOrderNumber)
Next

Lihat juga