cevap

8

SaveChanges()'u birden çok kez çağırıyorsanız ve tüm bu değişiklikleri geri almak istiyorsanız, evet TransactionScope numaralı telefonu kullanmak isteyebilirsiniz. İçerik üzerinde bir kez SaveChanges() numaralı telefonu arıyorsanız, tüm değişiklikleriniz sahnelerin arkasındaki bir işlemde veritabanına bir kerede gönderilir.

+0

Yalnızca aşağıdaki senaryo için gereken bir onay: Birden çok CRUD için SaveChanges() yöntemini çağırmam durumunda işlemleri, işlemi geri almak için DbContext nesnesini imha etmek zorundayım. – Jas

+0

"DbContext" inin atılması işlemi geri almayı düşünmüyorum. Bu durumda, muhtemelen işlemin otomatik işlemini devre dışı bırakabileceğiniz 'SaveChanges()' için aşırı yükleme seçeneklerine bakmak istersiniz ve AcceptAllChanges() 'i çağırmaktan sorumlu olursunuz. http://msdn.microsoft.com/en-us/library/bb739065.aspx –

+0

Ancak, sağladığınız msdn bağlantısı ObjectContext.SaveChanges() api'nin artık geçersiz olduğunu söylüyor. Ayrıca, ObjectContext.SaveChanges(), SQL Server tarafından atılan bir özel durum durumunda tüm işlemi geri alır. Ayrıca, CRB işlemlerini DbContext kullanarak geri almanın daha kolay bir yolu yok mu? – Jas