LINQ ke Kueri SQL

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

LINQ ke SQL menerjemahkan kueri yang Anda tulis ke dalam kueri SQL yang setara dan mengirimkannya ke server untuk diproses. Lebih khusus lagi, aplikasi Anda menggunakan LINQ ke 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 ke SQL menerjemahkan hasil ADO ke IQueryable kumpulan objek pengguna.

Nota

Sebagian besar metode dan operator pada jenis bawaan .NET Framework memiliki terjemahan langsung ke SQL. Yang tidak dapat diterjemahkan oleh LINQ menimbulkan pengecualian saat runtime. Untuk informasi selengkapnya, lihat Pemetaan JenisSQL-CLR.

Tabel berikut ini memperlihatkan persamaan dan perbedaan antara LINQ dan LINQ dengan item kueri SQL.

Barang Kueri LINQ LINQ ke Kueri SQL
Mengembalikan jenis variabel lokal yang menyimpan kueri (untuk kueri yang mengembalikan urutan) Generik IEnumerable Generik IQueryable
Menentukan sumber data Menggunakan klausa From (Visual Basic) atau from (C#) Sama
Penyaringan Menggunakan klausa Where/where Sama
Pengelompokan Menggunakan klausa Group…By/groupby Sama
Memilih (Proyeksi) Menggunakan klausa Select/select Sama
Ditangguhkan versus eksekusi segera Lihat Pengantar Kueri LINQ (C#) Sama
Menerapkan gabungan Menggunakan klausa Join/join Dapat menggunakan klausa Join/join, tetapi menggunakan atribut AssociationAttribute lebih efektif. Untuk informasi lebih lanjut, lihat Memanggil Data Antara Relasi.
Eksekusi jarak jauh versus lokal Untuk informasi selengkapnya, lihat Eksekusi Jarak Jauh vs. Lokal.
Streaming versus kueri cache Tidak berlaku dalam skenario memori lokal

Lihat juga