Aracılığıyla paylaş


İşlem Desteği

LINQ to SQL üç ayrı işlem modeli destekler. Aşağıdaki listede bu modeller, gerçekleştirilen denetim sırasına göre listeledik.

Açık Yerel İşlem

SubmitChanges çağrıldığında, Transaction özelliği bir (IDbTransaction) işlemine ayarlanırsa, SubmitChanges çağrısı aynı işlem bağlamında yürütülür.

İşlemin başarıyla yürütülmesinden sonra işlemi işlemek veya geri almak sizin sorumluluğunuzdadır. işleme karşılık gelen bağlantı, oluşturmak için kullanılan bağlantıyla DataContexteşleşmelidir. Farklı bir bağlantı kullanılırsa bir istisna fırlatılır.

Açık Dağıtılabilir İşlem

Etkin bir SubmitChanges kapsamında, (bunlarla sınırlı olmamak kaydıyla Transaction dahil) SQL API'lerine LINQ çağrısı yapabilirsiniz. LINQ to SQL, çağrının bir işlem kapsamında olduğunu algılar ve yeni bir işlem oluşturmaz. LINQ to SQL, bu durumda bağlantının kapatılmasını da önler. Böyle bir işlem bağlamında sorgu ve SubmitChanges yürütme gerçekleştirebilirsiniz.

Örtük İşlem

Çağrıyı SubmitChanges yaptığınızda, LINQ to SQL çağrının bir Transaction kapsamında olup olmadığını veya Transaction özelliğinin (IDbTransaction) kullanıcı tarafından başlatılan bir yerel işlem olarak ayarlanıp ayarlanmadığını kontrol eder. Herhangi bir işlem bulmazsa LINQ to SQL yerel bir işlem (IDbTransaction) başlatır ve oluşturulan SQL komutlarını yürütmek için bunu kullanır. Tüm SQL komutları başarıyla tamamlandığında LINQ to SQL yerel işlemi işler ve döndürür.

Ayrıca bakınız