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.

SaveChangesAsync(CancellationToken)

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

SaveChangesAsync(Boolean, CancellationToken)

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

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

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

cancellationToken
CancellationToken

CancellationToken Görevin tamamlanmasını beklerken gözlemlemek için bir.

Döndürülenler

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

Özel durumlar

Veritabanına kaydedilirken bir hatayla karşılaşıldı.

Veritabanına kaydedilirken eşzamanlılık ihlaliyle karşılaşılır. Kaydetme sırasında beklenmeyen sayıda satır etkilendiğinde eşzamanlılık ihlali oluşur. Bunun nedeni genellikle veritabanındaki verilerin belleğe yüklendiğinden beri değiştirilmesidir.

Açıklamalar

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

Entity Framework Core, aynı DbContext örneğinde çalıştırılan birden çok paralel işlemi desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. EF Core'da veri kaydetme .

Şunlara uygulanır

SaveChangesAsync(CancellationToken)

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

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

CancellationToken Görevin tamamlanmasını beklerken gözlemlemek için bir.

Döndürülenler

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

Özel durumlar

Veritabanına kaydedilirken bir hatayla karşılaşıldı.

Veritabanına kaydedilirken eşzamanlılık ihlaliyle karşılaşılır. Kaydetme sırasında beklenmeyen sayıda satır etkilendiğinde eşzamanlılık ihlali oluşur. Bunun nedeni genellikle veritabanındaki verilerin belleğe yüklendiğinden beri değiştirilmesidir.

Açıklamalar

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

Entity Framework Core, aynı DbContext örneğinde çalıştırılan birden çok paralel işlemi desteklemez. Buna hem zaman uyumsuz sorguların paralel yürütülmesi hem de birden çok iş parçacığından açık eş zamanlı kullanım dahildir. Bu nedenle, her zaman zaman uyumsuz çağrıları hemen bekleyin veya paralel olarak yürütülen işlemler için ayrı DbContext örnekleri kullanın. Daha fazla bilgi ve örnek için bkz. DbContext iş parçacığı oluşturma sorunlarını önleme .

Daha fazla bilgi ve örnek için bkz. EF Core'da veri kaydetme .

Şunlara uygulanır