C# Entity Framework Transaction

C# ile yaptığımız projelerde veritabanında aynı anda birden fazla tabloda işlem yapma durumu ile karşılaşabiliriz ki çoğunlukla karşılaşırız. Veri bütünlüğü konusunda sürprizlerle karşılaşmamak için transaction kullanmanızı tavisye ederim. Örneğin butona tıklandığında 5 tabloda işlem yapmak istedik ve yapıyoruz diyelim. 1-2-3 tablolarda işlemleri sorunsuz gitti fakat 4. tabloda bir hata oldu, program kırıldı bağlantı gitti vb... İşte bu durumda 4 ve 5. tabloda olmasını istediğimiz operasyonlar olmayacaktır. 

Transaction kullandığımızda 1-2-3-4-5 tablonun tamamında istediğimiz işlemler gerçekleşene kadar transaction takip eder, sorun olursa hiçbir tabloda işlem yapılmamış varsayar, Sorun olmazsa zaten program devam eder. 

Entity Framework Transaction işlemi basit olarak şu şekilde yapılır.

BarkodDbEntities db = new BarkodDbEntities();
            using (var transaction = db.Database.BeginTransaction())
            {
                // 1. tablo işlemleri
                // 2. tablo işlemleri
                // 3. tablo işlemleri
                // 4. tablo işlemleri
                // 5. tablo işlemleri
            }

using kod blokları arasında tablo işlemlerinin hepsi gerçekleştiğinde operasyon biter, birisinde hata olursa hiç bir tabloda işlem yapılmaz.

kolay gelsin.



Etiketler
transaction c# entity framework entity framework transaction
Mesaj Yaz