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 |