DbContext.SaveChangesAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
SaveChangesAsync(Boolean, CancellationToken) |
Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych. |
SaveChangesAsync(CancellationToken) |
Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych. |
SaveChangesAsync(Boolean, CancellationToken)
Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.
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
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
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 i przykładów, zobacz Unikanie problemów z wątkami dbContext .
Aby uzyskać więcej informacji i przykładów, zobacz Zapisywanie danych w programie EF Core .
Dotyczy
SaveChangesAsync(CancellationToken)
Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.
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
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
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 i przykładów, zobacz Unikanie problemów z wątkami dbContext .
Aby uzyskać więcej informacji i przykładów, zobacz Zapisywanie danych w programie EF Core .