Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
LINQ ke SQL mendukung tiga model transaksi yang berbeda. Berikut ini mencantumkan model ini dalam urutan pemeriksaan yang dilakukan.
Transaksi Lokal Eksplisit
Ketika SubmitChanges dipanggil, jika properti Transaction diatur ke transaksi (IDbTransaction), panggilan SubmitChanges dijalankan dalam konteks transaksi yang sama.
Anda bertanggung jawab untuk melakukan atau memutar kembali transaksi setelah keberhasilan eksekusi transaksi. Koneksi yang sesuai dengan transaksi harus cocok dengan koneksi yang digunakan untuk membuat DataContext. Pengecualian dilemparkan jika koneksi yang berbeda digunakan.
Transaksi Yang Dapat Didistribusikan Eksplisit
Anda dapat memanggil API LINQ to SQL (termasuk namun tidak terbatas pada SubmitChanges) dalam cakupan yang sedang aktif Transaction. LINQ ke SQL mendeteksi bahwa panggilan berada dalam cakupan transaksi dan tidak membuat transaksi baru. LINQ ke SQL juga menghindari penutupan koneksi dalam kasus ini. Anda dapat melakukan kueri dan SubmitChanges eksekusi dalam konteks transaksi tersebut.
Transaksi Implisit
Saat Anda memanggil SubmitChanges, LINQ ke SQL memeriksa apakah panggilan berada dalam cakupan Transaction atau apakah properti Transaction (IDbTransaction) diatur ke transaksi lokal yang dimulai oleh pengguna. Jika tidak menemukan transaksi, LINQ ke SQL memulai transaksi lokal (IDbTransaction) dan menggunakannya untuk menjalankan perintah SQL yang dihasilkan. Ketika semua perintah SQL telah berhasil diselesaikan, LINQ ke SQL menyelesaikan transaksi lokal dan kembali.