DbContext.SaveChangesAsync Metoda

Definice

Přetížení

SaveChangesAsync(Boolean, CancellationToken)

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

Tato metoda automaticky zavolá DetectChanges() , aby před uložením do podkladové databáze objevila všechny změny instancí entit. To lze 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žití z více vláken. Proto vždy očekáváte asynchronní volání okamžitě nebo použijte samostatné instance DbContext pro operace, které se spouští paralelně. Další informace najdete v tématu Zabránění problémům s vlákny DbContext .

SaveChangesAsync(CancellationToken)

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

Tato metoda automaticky zavolá DetectChanges() , aby před uložením do podkladové databáze objevila všechny změny instancí entit. To lze 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žití z více vláken. Proto vždy očekáváte asynchronní volání okamžitě nebo použijte samostatné instance DbContext pro operace, které se spouští paralelně. Další informace najdete v tématu Zabránění problémům s vlákny DbContext .

SaveChangesAsync(Boolean, CancellationToken)

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

Tato metoda automaticky zavolá DetectChanges() , aby před uložením do podkladové databáze objevila všechny změny instancí entit. To lze 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žití z více vláken. Proto vždy očekáváte asynchronní volání okamžitě nebo použijte samostatné instance DbContext pro operace, které se spouští paralelně. Další informace najdete v tématu Zabránění problémům s vlákny 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

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

cancellationToken
CancellationToken

Při čekání na dokončení úkolu je CancellationToken potřeba sledovat.

Návraty

Task<Int32>

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

Výjimky

Při ukládání do databáze se zobrazí chyba.

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

Poznámky

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

Platí pro

SaveChangesAsync(CancellationToken)

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

Tato metoda automaticky zavolá DetectChanges() , aby před uložením do podkladové databáze objevila všechny změny instancí entit. To lze 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žití z více vláken. Proto vždy očekáváte asynchronní volání okamžitě nebo použijte samostatné instance DbContext pro operace, které se spouští paralelně. Další informace najdete v tématu Zabránění problémům s vlákny 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

Při čekání na dokončení úkolu je CancellationToken potřeba sledovat.

Návraty

Task<Int32>

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

Výjimky

Při ukládání do databáze se zobrazí chyba.

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

Poznámky

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

Platí pro