SORU
13 Mart 2009, Cuma


Deyimini kullanarak bir geri alma eğer bir hata oluşursa, veritabanı hareket edecek?

Bir using deyimi bir İDbTransaction var ama eğer bir istisna kullanarak açıklamada atılırsa geri olacak eğer ben emin değilim. Kullanarak bir deyim Elden vermeyi zorunlu kılar biliyorum()...ama herkes aynı geri alma için doğru olup olmadığını bilen var mı()?

Güncelleme:Ayrıca, Taahhüt aramam gerekiyor mu() altında ya da dikkat kullanarak ifade edilecek gibi? açıkça

Benim kod bu gibi görünüyor:

using Microsoft.Practices.EnterpriseLibrary.Data;

...

using(IDbConnection connection = DatabaseInstance.CreateConnection())
{
    connection.Open();

    using(IDbTransaction transaction = connection.BeginTransaction())
    {
       //Attempt to do stuff in the database
       //potentially throw an exception
       transaction.Commit();
    }
}

CEVAP
13 Mart 2009, Cuma


Görünüşe göre Evet. Bu SqlİnternalTransaction yöntemi SqlTransaction çağrı Atın.) gibi Reflector görünüyor Atmayın:

private void Dispose(bool disposing)
{
    // ...
    if (disposing && (this._innerConnection != null))
    {
        this._disposing = true;
        this.Rollback(); // there you go
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alan Fullmer

    Alan Fullmer

    3 EYLÜL 2010
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012