DbContext.SaveChangesAsync Metoda

Definicja

Przeciążenia

SaveChangesAsync(Boolean, CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

Ta metoda spowoduje automatyczne wywołanie DetectChanges() w celu odnalezienia wszelkich zmian w wystąpieniach jednostki przed zapisaniem w bazowej bazie danych. Można to wyłączyć za pomocą polecenia AutoDetectChangesEnabled.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

SaveChangesAsync(CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

Ta metoda spowoduje automatyczne wywołanie DetectChanges() w celu odnalezienia wszelkich zmian w wystąpieniach jednostki przed zapisaniem w bazowej bazie danych. Można to wyłączyć za pomocą polecenia AutoDetectChangesEnabled.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

SaveChangesAsync(Boolean, CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

Ta metoda spowoduje automatyczne wywołanie DetectChanges() w celu odnalezienia wszelkich zmian w wystąpieniach jednostki przed zapisaniem w bazowej bazie danych. Można to wyłączyć za pomocą polecenia AutoDetectChangesEnabled.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

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)

Parametry

acceptAllChangesOnSuccess
Boolean

Wskazuje, czy AcceptAllChanges() jest wywoływana po pomyślnym wysłaniu zmian do bazy danych.

cancellationToken
CancellationToken

Element CancellationToken do obserwowania podczas oczekiwania na ukończenie zadania.

Zwraca

Task<Int32>

Zadanie reprezentujące operację zapisywania asynchronicznego. Wynik zadania zawiera liczbę wpisów stanu zapisanych w bazie danych.

Wyjątki

Wystąpił błąd podczas zapisywania w bazie danych.

Wystąpiło naruszenie współbieżności podczas zapisywania w bazie danych. Naruszenie współbieżności występuje, gdy wystąpiła nieoczekiwana liczba wierszy podczas zapisywania. Jest to zwykle spowodowane tym, że dane w bazie danych zostały zmodyfikowane od momentu załadowania ich do pamięci.

Jeśli element CancellationToken zostanie anulowany.

Uwagi

Aby uzyskać więcej informacji, zobacz Zapisywanie danych w programie EF Core .

Dotyczy

SaveChangesAsync(CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

Ta metoda spowoduje automatyczne wywołanie DetectChanges() w celu odnalezienia wszelkich zmian w wystąpieniach jednostki przed zapisaniem w bazowej bazie danych. Można to wyłączyć za pomocą polecenia AutoDetectChangesEnabled.

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. W związku z tym zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji, zobacz Unikanie problemów z wątkowaniem dbContext .

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)

Parametry

cancellationToken
CancellationToken

Element CancellationToken do obserwowania podczas oczekiwania na ukończenie zadania.

Zwraca

Task<Int32>

Zadanie reprezentujące operację zapisywania asynchronicznego. Wynik zadania zawiera liczbę wpisów stanu zapisanych w bazie danych.

Wyjątki

Wystąpił błąd podczas zapisywania w bazie danych.

Wystąpiło naruszenie współbieżności podczas zapisywania w bazie danych. Naruszenie współbieżności występuje, gdy wystąpiła nieoczekiwana liczba wierszy podczas zapisywania. Jest to zwykle spowodowane tym, że dane w bazie danych zostały zmodyfikowane od momentu załadowania ich do pamięci.

Jeśli element CancellationToken zostanie anulowany.

Uwagi

Aby uzyskać więcej informacji, zobacz Zapisywanie danych w programie EF Core .

Dotyczy