Bagikan melalui


Kueri LINQ ke SQL

Anda mendefinisikan kueri LINQ ke SQL dengan sintaks yang sama seperti yang Anda lakukan di LINQ. Satu-satunya perbedaan adalah objek yang dirujuk dalam kueri Anda dipetakan ke elemen dalam database. Untuk informasi selengkapnya, lihat Pengantar Kueri LINQ (C#).

LINQ to SQL menafsirkan kueri yang Anda tulis menjadi kueri SQL yang setara dan mengirimkannya ke server untuk diproses. Lebih khusus lagi, aplikasi Anda menggunakan LINQ to SQL API untuk meminta eksekusi kueri. Penyedia LINQ ke SQL kemudian mengubah kueri menjadi teks SQL dan mendelegasikan eksekusi ke penyedia ADO. Penyedia ADO mengembalikan hasil kueri sebagai DataReader. Penyedia LINQ to SQL menafsirkan hasil ADO ke IQueryable koleksi objek pengguna.

Catatan

Sebagian besar metode dan operator pada jenis bawaan .NET Framework memiliki penafsiran langsung ke SQL. Hal yang tidak dapat ditafsirkan oleh LINQ menghasilkan pengecualian run-time. Untuk informasi selengkapnya, harap lihat Pemetaan Jenis SQL-CLR.

Tabel berikut menunjukkan persamaan dan perbedaan antara LINQ dan item kueri LINQ to SQL.

Item Permintaan LINQ Kueri LINQ to SQL
Jenis pengembalian variabel lokal yang menyimpan kueri (untuk kueri yang mengembalikan urutan) IEnumerable generik IQueryable generik
Menentukan sumber data Menggunakan klausa From (Visual Basic) atau from (C#) Sama
Filter Menggunakan klausa Where/where Sama
Pengelompokan Menggunakan klausa Group…By/groupby Sama
Memilih (Memproyeksikan) Menggunakan klausa Select/select Sama
Ditangguhkan versus dieksekusi segera Lihat Pengantar Kueri LINQ (C#) Sama
Menerapkan bergabung Menggunakan klausa Join/join Dapat menggunakan klausa Join/join, tetapi lebih efektif menggunakan atribut AssociationAttribute. Untuk informasi selengkapnya, baca Mengkueri Di Seluruh Hubungan.
Eksekusi jarak jauh versus lokal Untuk informasi selengkapnya, baca Eksekusi Jarak Jauh vs. Lokal.
Streaming versus kueri yang di-cache Tidak berlaku dalam skenario memori lokal

Lihat juga