Sdílet prostřednictvím


DbContext.SaveChangesAsync Metoda

Definice

Přetížení

SaveChangesAsync(Boolean, CancellationToken)

Uloží všechny změny provedené v tomto kontextu do databáze.

SaveChangesAsync(CancellationToken)

Uloží všechny změny provedené v tomto kontextu do databáze.

SaveChangesAsync(Boolean, CancellationToken)

Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs

Uloží všechny změny provedené v tomto kontextu do databáze.

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

Určuje, jestli AcceptAllChanges() je volána po úspěšném odeslání změn do databáze.

cancellationToken
CancellationToken

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Úloha, která představuje asynchronní operaci ukládání. Výsledek úkolu obsahuje počet položek stavu zapsaných do databáze.

Výjimky

Při ukládání do databáze došlo k chybě.

Při ukládání do databáze dochází k narušení souběžnosti. K narušení souběžnosti dochází, když je během ukládání ovlivněn neočekávaný počet řádků. Důvodem je obvykle to, že data v databázi byla od načtení do paměti změněna.

Poznámky

Tato metoda bude automaticky volat DetectChanges() ke zjištění všech změn v instancích entit před uložením do podkladové databáze. To je možné zakázat prostřednictvím .AutoDetectChangesEnabled

Entity Framework Core nepodporuje spouštění více paralelních operací ve stejné instanci DbContext. To zahrnuje paralelní spouštění asynchronních dotazů i jakékoli explicitní souběžné používání z více vláken. Proto vždy okamžitě vyčkejte na asynchronní volání nebo používejte samostatné instance DbContext pro operace, které se provádějí paralelně. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématu Ukládání dat v EF Core .

Platí pro

SaveChangesAsync(CancellationToken)

Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs
Zdroj:
DbContext.cs

Uloží všechny změny provedené v tomto kontextu do databáze.

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

A CancellationToken , která se má sledovat při čekání na dokončení úkolu.

Návraty

Úloha, která představuje asynchronní operaci ukládání. Výsledek úkolu obsahuje počet položek stavu zapsaných do databáze.

Výjimky

Při ukládání do databáze došlo k chybě.

Při ukládání do databáze dochází k narušení souběžnosti. K narušení souběžnosti dochází, když je během ukládání ovlivněn neočekávaný počet řádků. Důvodem je obvykle to, že data v databázi byla od načtení do paměti změněna.

Poznámky

Tato metoda bude automaticky volat DetectChanges() ke zjištění všech změn v instancích entit před uložením do podkladové databáze. To je možné zakázat prostřednictvím .AutoDetectChangesEnabled

Entity Framework Core nepodporuje spouštění více paralelních operací ve stejné instanci DbContext. To zahrnuje paralelní spouštění asynchronních dotazů i jakékoli explicitní souběžné používání z více vláken. Proto vždy okamžitě vyčkejte na asynchronní volání nebo používejte samostatné instance DbContext pro operace, které se provádějí paralelně. Další informace a příklady najdete v tématu Předcházení problémům s vlákny DbContext .

Další informace a příklady najdete v tématu Ukládání dat v EF Core .

Platí pro