Menetapkan prosedur tersimpan untuk melakukan pembaruan, penyisipan, dan penghapusan (Perancang O/R)

Prosedur tersimpan dapat ditambahkan ke O/R Designer dan dijalankan sebagai metode DataContext umum. Ini juga dapat digunakan untuk mengambil alih perilaku run-time LINQ ke SQL default yang melakukan Penyisipan, Pembaruan, dan Penghapusan saat perubahan disimpan dari kelas entitas ke database (misalnya, saat memanggil metode SubmitChanges).

Catatan

Jika prosedur tersimpan mengembalikan nilai yang perlu dikirim kembali ke klien (misalnya, nilai yang dihitung dalam prosedur tersimpan), buat parameter output dalam prosedur tersimpan Anda. Jika Anda tidak dapat menggunakan parameter output, tulis penerapan metode parsial alih-alih mengandalkan penimpaan yang dihasilkan oleh O/R Designer. Anggota yang dipetakan ke nilai yang dihasilkan database perlu diatur ke nilai yang sesuai setelah berhasil menyelesaikan INSERT operasi atau UPDATE . Untuk informasi selengkapnya, baca Tanggung Jawab Pengembang Dalam Mengambil alih Perilaku Default.

Catatan

LINQ ke SQL menangani nilai yang dihasilkan database secara otomatis untuk identitas (kenaikan otomatis), rowguidcol (pengidentifikasi unik global yang dihasilkan database (GUID)), dan kolom tanda waktu. Nilai yang dihasilkan database dalam jenis kolom lain secara tak terduga akan menghasilkan nilai null. Untuk mengembalikan nilai yang dihasilkan database, Anda harus mengatur IsDbGenerated secara manual ke true dan AutoSync ke salah satu dari berikut ini: AutoSync.Always, AutoSync.OnInsert, atau AutoSync.OnUpdate.

Mengonfigurasi Perilaku Pembaruan Kelas Entitas

Secara default, logika untuk memperbarui database (menyisipkan, memperbarui, dan menghapus) dengan perubahan yang dibuat pada data kelas entitas LINQ ke SQL disediakan oleh runtime LINQ ke SQL. Runtime membuat perintah default INSERT, UPDATE, dan DELETE yang didasarkan pada skema tabel (kolom dan informasi kunci utama). Ketika perilaku default tidak diinginkan, Anda dapat mengonfigurasi perilaku pembaruan dengan menetapkan prosedur tersimpan tertentu untuk melakukan penyisipan, pembaruan, dan penghapusan yang diperlukan untuk memanipulasi data dalam tabel Anda. Anda juga dapat melakukan ini saat perilaku default tidak dihasilkan, misalnya, saat kelas entitas Anda memetakan ke tampilan. Terakhir, Anda dapat mengambil alih perilaku pembaruan default saat database memerlukan akses tabel melalui prosedur tersimpan.

Catatan

Komputer Anda mungkin menampilkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam artikel ini. Anda mungkin menggunakan edisi Visual Studio yang berbeda atau pengaturan lingkungan yang berbeda. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Untuk menetapkan prosedur tersimpan guna mengambil alih perilaku default kelas entitas

  1. Buka file LINQ ke SQL di perancang. (Klik dua .dbml kali file di Penjelajah Solusi.)

  2. Di Penjelajah Server atau Penjelajah Database, perluas Prosedur Tersimpan dan temukan prosedur tersimpan yang ingin Anda gunakan untuk perintah Penyisipan, Pembaruan, dan/atau Penghapusan kelas entitas.

  3. Tarik prosedur tersimpan ke O/R Designer.

    Prosedur tersimpan ditambahkan ke panel metode sebagai metode DataContext. Untuk informasi selengkapnya, lihat Metode DataContext (O/R Designer).

  4. Pilih kelas entitas yang ingin Anda gunakan prosedur tersimpannya untuk melakukan pembaruan.

  5. Di jendela Properti, pilih perintah yang akan diambil alih (Sisipkan, Perbarui, atau Hapus).

  6. Klik elipsis (...) di samping kata Gunakan Runtime untuk membuka kotak dialog Konfigurasi Perilaku.

  7. Pilih Sesuaikan.

  8. Pilih prosedur tersimpan dalam daftar Kustomisasi.

  9. Periksa daftar Argumen Metode dan Properti Kelas untuk memverifikasi bahwa Argumen Metode memetakan ke Properti Kelas yang tepat. Petakan argumen metode asli (Original_<ArgumentName>) ke properti asli (<PropertyName> (Original)) untuk perintah Update dan Delete.

    Catatan

    Secara default, argumen metode memetakan ke properti kelas saat nama cocok. Jika nama properti yang diubah tidak lagi cocok antara tabel dan kelas entitas, Anda mungkin harus memilih properti kelas yang setara untuk dipetakan jika perancang tidak dapat menentukan pemetaan yang benar.

  10. Klik OK atau Terapkan.

    Catatan

    Anda dapat terus mengonfigurasi perilaku untuk setiap kombinasi kelas dan perilaku selama Anda mengeklik Terapkan setelah membuat setiap perubahan. Jika Anda mengubah kelas atau perilaku sebelum mengeklik Terapkan, kotak dialog peringatan muncul dan memberi Anda kesempatan untuk menerapkan perubahan Anda.

Untuk kembali menggunakan logika runtime default untuk pembaruan, klik elipsis di samping perintah Sisipkan, Perbarui, atau Hapus di jendela Properti lalu pilih Gunakan runtime dalam kotak dialog Konfigurasi Perilaku.