Dengan Entity Framework Core, Anda dapat membuka kueri SQL asli saat menggunakan database relasional. Ketika kueri yang diperlukan tidak dapat direpresentasikan di LINQ, kueri SQL mentah dapat digunakan. Anda juga dapat menggunakan kueri SQL mentah jika menggunakan kueri LINQ menyebabkan kueri SQL yang tidak efisien. Kueri SQL mentah dapat mengembalikan jenis entitas generik atau jenis entitas tanpa kunci dalam model.
Rekap: Menjalankan pernyataan SQL dan prosedur tersimpan dengan Entity Framework (EF).
Lakukan kueri, pembaruan, dan penghapusan pernyataan SQL, serta panggil prosedur dan tampilan tersimpan menggunakan metode berikut:
- DariSqlRaw
- DariSqlInterpolasi
- JalankanSqlRaw
- ExecuteSqlInterpolated
FromSqlRaw dan FromSqlInterpolated terutama digunakan untuk operasi kueri ExecuteSqlRaw dan ExecuteSqlInterpolated melakukan operasi penambahan, pembaruan, dan penghapusan pada database, dan mengembalikan jumlah baris yang terpengaruh
Akhirnya adalah kata kunci yang diinterpolasi, yang biasanya berupa penambahan parameter, penghapusan, modifikasi dan pemeriksaan, dan cara untuk menahan serangan injeksi SQL menggunakan sintaks interpolasi string. Sebagai contoh:
Keluarkan pernyataan SQL, kondisi kueri tidak diteruskan melalui penyambungan, seperti yang ditunjukkan pada gambar di bawah ini:
Ada beberapa batasan yang perlu diperhatikan saat menggunakan kueri SQL asli:
Kueri SQL harus mengembalikan data untuk semua atribut jenis entitas. Nama kolom dalam kumpulan hasil harus cocok dengan nama kolom yang dipetakan atribut. Perhatikan bahwa perilaku ini berbeda dari EF6. Hubungan pemetaan atribut/kolom kueri SQL asli diabaikan di EF6, dan nama kolom kumpulan hasil harus cocok dengan nama atribut. Kueri SQL tidak dapat berisi data terkait. Namun, dalam banyak kasus, Anda dapat menggunakan metode Include segera setelah kueri untuk mengembalikan data yang berkorelasi (lihat Sertakan Data Asosiatif).
(Akhir)
|