Transaction Scope Kullanımı

birbirine bağlantılı tablolarda arka arka ya veri kaydederken, aradaki bir tablonun hata vermesi büyük sorun oluşturabiliyor,

örneğin öğrenci notları giriyorsunuz sayfada tek seferde tüm notları post ettiniz, 4. öğrencinin notonu 80 yerine 8o göndediniz, bu durumda 4. kayıdı yaparken hata oluşacaktır. ilk üç öğrenci kaydedilmiş sonrası kaydolmamış olacaktır. gidip manuel olarak silmeniz gerekecek. böyle bir durumda geri alma işlemi (roll back) yapbilmek için transaction scope methodu oluşturuldu.

1. kullanım


using (var db = new dbContext()) 
{ 
    using (var transaction = db.Database.BeginTransaction()) 
    { 
        foreach(nar not in Notes)
        {
        db.notlar.Add(not); 
        db.SaveChanges(); 
        }
    
        transaction.Commit(); 
    } 
}

2.kullanım


 using (var transaction = new TransactioScope() ) 
    { 
        using (var db = new dbContext()) 
       { 
   
        foreach(nar not in Notes)
        {
        db.notlar.Add(not); 
        db.SaveChanges(); 
        }
    
        transaction.Complete(); 
    } 
}
Makale Tarihi: 12.03.2016 Gücellenme Tarihi: 22.02.2018

Yorum Yaz

Yorumlarınız denetimden geçtikten sonra yayınlanmaktadır...