Merhaba, Code first ile db deki prosedürleri mappledikten sonra DbContext.procedure1(ad,soyad,telefon...); şeklinde kullanabiliyorum.Fakat istediğim şey bunların kayıt işlemini(commit) ayrıca bir komut ile (dbContext.SaveChanges() gibi) kontrol edebileyim.Çünkü şuanda prosedürü yazdığım anda otomatik olarak zaten kaydediyor(commit).Dolayısıyla transaction ı kontrol edemiyorum.Örneğin aynı transaction içinde 2 veya 3 prosedürü çalıştıramıyorum.

soruldu: 02 Haz '15, 02:47

Jentapfuz's gravatar image

Jentapfuz
75447
cevap kabul oranı: 33%


Aşağıdaki gibi yapınca oldu :

        bool result = false;
        using (var transact = new TransactionScope())
        {
           try{
              DbContext.Procedure1(isim,soyisim,telefon....);
              DbContext.Procedure2(sehir,ulke,postakodu....);
              DbContext.Procedure3(yas,cinsiyet,medenihal....);
              result = true; 
           }
           catch(Exception ex){ 
               Console.Writeline("Hata: "+ex);
           }
            finally
            {
                if (result)
                {
                    transact.Complete();
                    DbContext.AcceptAllChanges();
                }
            }
         }
permanent link

cevaplandı: 02 Haz '15, 09:42

Jentapfuz's gravatar image

Jentapfuz
75447
cevap kabul oranı: 33%

Merhaba, Anladığım kadarıyla bir transaction içinde birden fazla sp çalıştırmak istiyorsun.
Belki aşağıdaki kod bloğu yardımcı olabilir.

using(var tx = new TransactionScope())
{
  using(var ctx = new EntityContext())
  {
      ctx.Prodecure1()
      ctx.Prodecure2()

  }
  tx.Complete();
}
permanent link

cevaplandı: 02 Haz '15, 09:47

ukaraogul's gravatar image

ukaraogul
02
cevap kabul oranı: 0%

değiştirildi: 02 Haz '15, 09:48

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×238
×7
×3
×1
×1

Soruldu: 02 Haz '15, 02:47

Görüntüleme: 435 kez

Son güncelleme: 02 Haz '15, 09:48

powered by BitNami OSQA