DbContext.SaveChangesAsync Yöntem

Tanım

Aşırı Yüklemeler

SaveChangesAsync(Boolean, CancellationToken)

Bu bağlamda yapılan tüm değişiklikleri veritabanına kaydeder.

Bu yöntem DetectChanges() , temel veritabanına kaydedilmeden önce varlık örneklerinde yapılan değişiklikleri bulmayı otomatik olarak çağırır. Bu, aracılığıyla devre dışı bırakılabilir AutoDetectChangesEnabled .

Entity Framework Core, aynı DbContext örneğinde çalıştırılan birden çok paralel işlemi desteklemez. Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .

SaveChangesAsync(CancellationToken)

Bu bağlamda yapılan tüm değişiklikleri veritabanına kaydeder.

Bu yöntem, temel alınan DetectChanges() veritabanına kaydetmeden önce varlık örneklerde yapılan değişiklikleri bulmak için otomatik olarak çağrısını alır. Bu, aracılığıyla devre dışı AutoDetectChangesEnabled bırakılabilir.

Entity Framework Core aynı DbContext örneğinde birden çok paralel işlem çalıştırmayı desteklemez. Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .

SaveChangesAsync(Boolean, CancellationToken)

Bu bağlamda yapılan tüm değişiklikleri veritabanına kaydeder.

Bu yöntem DetectChanges() , temel veritabanına kaydedilmeden önce varlık örneklerinde yapılan değişiklikleri bulmayı otomatik olarak çağırır. Bu, aracılığıyla devre dışı bırakılabilir AutoDetectChangesEnabled .

Entity Framework Core, aynı DbContext örneğinde çalıştırılan birden çok paralel işlemi desteklemez. Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .

public virtual System.Threading.Tasks.Task<int> SaveChangesAsync (bool acceptAllChangesOnSuccess, System.Threading.CancellationToken cancellationToken = default);
abstract member SaveChangesAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.SaveChangesAsync : bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overridable Function SaveChangesAsync (acceptAllChangesOnSuccess As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Parametreler

acceptAllChangesOnSuccess
Boolean

AcceptAllChanges()Değişiklikler veritabanına başarıyla gönderildikten sonra döndürülüp çağrılmadığını gösterir.

cancellationToken
CancellationToken

CancellationTokenGörevin tamamlanması beklenirken gözlemlenemedi.

Döndürülenler

Task<Int32>

Zaman uyumsuz kaydetme işlemini temsil eden bir görev. Görev sonucu, veritabanına yazılan durum girişi sayısını içerir.

Özel durumlar

Veritabanına kaydetme sırasında bir hatayla karşılaşıldı.

Veritabanına kaydedilirken eşzamanlılık ihlaliyle karşılaşıldı. Kayıt sırasında beklenmeyen sayıda satır etkileniyorsa eşzamanlılık ihlali oluşur. Bu, genellikle veritabanındaki verilerin belleğe yüklendiğinden beri değiştirilmesinden kaynaklanır.

Açıklamalar

Daha fazla bilgi için bkz. EF Core verileri kaydetme .

Şunlara uygulanır

SaveChangesAsync(CancellationToken)

Bu bağlamda yapılan tüm değişiklikleri veritabanına kaydeder.

Bu yöntem, temel alınan DetectChanges() veritabanına kaydetmeden önce varlık örneklerde yapılan değişiklikleri bulmak için otomatik olarak çağrısını alır. Bu, aracılığıyla devre dışı AutoDetectChangesEnabled bırakılabilir.

Entity Framework Core aynı DbContext örneğinde birden çok paralel işlem çalıştırmayı desteklemez. Bu, zaman uyumsuz sorguların paralel yürütmesini ve birden çok iş parçacığından açık olan eşzamanlı kullanımı içerir. Bu nedenle, her zaman zaman uyumsuz çağrıları bekler veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi için bkz. DbContext Threading sorunlarını önleme .

public virtual System.Threading.Tasks.Task<int> SaveChangesAsync (System.Threading.CancellationToken cancellationToken = default);
abstract member SaveChangesAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.SaveChangesAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overridable Function SaveChangesAsync (Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Parametreler

cancellationToken
CancellationToken

Görevin CancellationToken tamamlandıktan sonra gözlemlemek için bir.

Döndürülenler

Task<Int32>

Zaman uyumsuz kaydetme işlemini temsil eden bir görev. Görev sonucu, veritabanına yazılan durum girişi sayısını içerir.

Özel durumlar

Veritabanına kaydetme sırasında bir hatayla karşılaşıldı.

Veritabanına kaydedilirken eşzamanlılık ihlaliyle karşılaşıldı. Kayıt sırasında beklenmeyen sayıda satır etkileniyorsa eşzamanlılık ihlali oluşur. Bu, genellikle veritabanındaki verilerin belleğe yüklendiğinden beri değiştirilmesinden kaynaklanır.

Açıklamalar

Daha fazla bilgi için bkz. EF Core verileri kaydetme .

Şunlara uygulanır