Bagikan melalui


Menyimpan data dengan menggunakan transaksi di aplikasi .NET Framework

Catatan

Himpunan data dan kelas terkait adalah teknologi .NET Framework warisan dari awal 2000-an yang memungkinkan aplikasi untuk bekerja dengan data dalam memori saat aplikasi terputus dari database. Himpunan data tersebut sangat berguna untuk aplikasi yang mengaktifkan pengguna guna memodifikasi data dan mempertahankan perubahan kembali ke database. Meskipun himpunan data telah terbukti menjadi teknologi yang sangat sukses, sebaiknya aplikasi .NET baru menggunakan Entity Framework Core. Entity Framework menyediakan cara yang lebih alami untuk bekerja dengan data tabular sebagai model objek, dan memiliki antarmuka pemrograman yang lebih sederhana.

Anda menyimpan data dalam transaksi dengan menggunakan namespace System.Transactions. Gunakan objek TransactionScope untuk berpartisipasi dalam transaksi yang dikelola secara otomatis untuk Anda.

Proyek tidak dibuat dengan referensi ke rakitan System.Transactions, jadi Anda perlu menambahkan referensi secara manual ke proyek yang menggunakan transaksi.

Cara paling mudah untuk mengimplementasikan transaksi adalah dengan membuat instans objek TransactionScope dalam pernyataan using. (Untuk informasi selengkapnya, lihat Menggunakan pernyataan, dan Menggunakan pernyataan.) Kode yang berjalan dalam pernyataan using berpartisipasi dalam transaksi.

Untuk melakukan transaksi, panggil metode Complete sebagai pernyataan terakhir dalam blok penggunaan.

Untuk menggulung balik transaksi, berikan pengecualian sebelum memanggil metode Complete.

Untuk menambahkan referensi ke System.Transactions.dll

  1. Pada menu Proyek, pilih Tambahkan Referensi.

  2. Pada tab .NET (tab SQL Server untuk proyek SQL Server), pilih System.Transactions, lalu pilih OK.

    Referensi ke System.Transactions ditambahkan ke proyek.

Untuk menyimpan data dalam transaksi

  • Tambahkan kode untuk menyimpan data dalam pernyataan penggunaan yang berisi transaksi. Kode berikut menunjukkan cara membuat dan membuat instans objek TransactionScope dalam pernyataan penggunaan:

    using (System.Transactions.TransactionScope updateTransaction = 
        new System.Transactions.TransactionScope())
    {
        // Add code to save your data here.
        // Throw an exception to roll back the transaction.
    
        // Call the Complete method to commit the transaction
        updateTransaction.Complete();
    }