Freigeben über


DbContext.SaveChangesAsync Methode

Definition

Überlädt

SaveChangesAsync(Boolean, CancellationToken)

Speichert alle in diesem Kontext vorgenommenen Änderungen in der Datenbank.

SaveChangesAsync(CancellationToken)

Speichert alle in diesem Kontext vorgenommenen Änderungen in der Datenbank.

SaveChangesAsync(Boolean, CancellationToken)

Speichert alle in diesem Kontext vorgenommenen Änderungen in der Datenbank.

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)

Parameter

acceptAllChangesOnSuccess
Boolean

Gibt an, ob AcceptAllChanges() aufgerufen wird, nachdem die Änderungen erfolgreich an die Datenbank gesendet wurden.

cancellationToken
CancellationToken

Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.

Gibt zurück

Eine Aufgabe, die den asynchronen Speichervorgang darstellt. Das Vorgangsergebnis enthält die Anzahl von Zustandseinträgen, die in die Datenbank geschrieben werden.

Ausnahmen

Beim Speichern in der Datenbank tritt ein Fehler auf.

Beim Speichern in der Datenbank tritt eine Parallelitätsverletzung auf. Eine Parallelitätsverletzung tritt auf, wenn während des Speicherns eine unerwartete Anzahl von Zeilen betroffen ist. Dies liegt in der Regel daran, dass die Daten in der Datenbank geändert wurden, seit sie in den Arbeitsspeicher geladen wurden.

Hinweise

Diese Methode ruft automatisch auf DetectChanges() , um Änderungen an Entitätsinstanzen zu ermitteln, bevor sie in der zugrunde liegenden Datenbank gespeichert wird. Dies kann über AutoDetectChangesEnableddeaktiviert werden.

Entity Framework Core unterstützt nicht mehrere parallele Vorgänge, die auf demselben DbContext-instance ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .

Weitere Informationen und Beispiele finden Sie unter Speichern von Daten in EF Core .

Gilt für:

SaveChangesAsync(CancellationToken)

Speichert alle in diesem Kontext vorgenommenen Änderungen in der Datenbank.

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)

Parameter

cancellationToken
CancellationToken

Ein CancellationToken , der beobachtet werden soll, während auf den Abschluss der Aufgabe gewartet wird.

Gibt zurück

Eine Aufgabe, die den asynchronen Speichervorgang darstellt. Das Vorgangsergebnis enthält die Anzahl von Zustandseinträgen, die in die Datenbank geschrieben werden.

Ausnahmen

Beim Speichern in der Datenbank tritt ein Fehler auf.

Beim Speichern in der Datenbank tritt eine Parallelitätsverletzung auf. Eine Parallelitätsverletzung tritt auf, wenn während des Speicherns eine unerwartete Anzahl von Zeilen betroffen ist. Dies liegt in der Regel daran, dass die Daten in der Datenbank geändert wurden, seit sie in den Arbeitsspeicher geladen wurden.

Hinweise

Diese Methode ruft automatisch auf DetectChanges() , um Änderungen an Entitätsinstanzen zu ermitteln, bevor sie in der zugrunde liegenden Datenbank gespeichert wird. Dies kann über AutoDetectChangesEnableddeaktiviert werden.

Entity Framework Core unterstützt nicht mehrere parallele Vorgänge, die auf demselben DbContext-instance ausgeführt werden. Dies schließt die parallele Ausführung von asynchronen Abfragen und jede explizite gleichzeitige Verwendung aus mehreren Threads ein. Warten Sie daher immer sofort auf asynchrone Aufrufe, oder verwenden Sie separate DbContext-Instanzen für parallel ausgeführte Vorgänge. Weitere Informationen und Beispiele finden Sie unter Vermeiden von DbContext-Threadingproblemen .

Weitere Informationen und Beispiele finden Sie unter Speichern von Daten in EF Core .

Gilt für: