Sdílet prostřednictvím


DbContext.SaveChanges Metoda

Definice

Přetížení

SaveChanges(Boolean)

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

SaveChanges()

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

SaveChanges(Boolean)

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

[System.Diagnostics.DebuggerStepThrough]
public virtual int SaveChanges (bool acceptAllChangesOnSuccess);
public virtual int SaveChanges (bool acceptAllChangesOnSuccess);
[<System.Diagnostics.DebuggerStepThrough>]
abstract member SaveChanges : bool -> int
override this.SaveChanges : bool -> int
abstract member SaveChanges : bool -> int
override this.SaveChanges : bool -> int
Public Overridable Function SaveChanges (acceptAllChangesOnSuccess As Boolean) As Integer

Parametry

acceptAllChangesOnSuccess
Boolean

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

Návraty

Počet stavových položek zapsaných do databáze.

Atributy

Výjimky

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

Při ukládání do databáze došlo k narušení souběžnosti. K narušení souběžnosti dojde, 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 automaticky zavolá DetectChanges() ke zjištění všech změn instancí entit před uložením do podkladové databáze. Tuto možnost 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 pro paralelně spouštěné operace používejte samostatné instance DbContext. Další informace a příklady najdete v tématu Zabránění problémům s vytvářením vláken DbContext .

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

Platí pro

SaveChanges()

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

[System.Diagnostics.DebuggerStepThrough]
public virtual int SaveChanges ();
public virtual int SaveChanges ();
[<System.Diagnostics.DebuggerStepThrough>]
abstract member SaveChanges : unit -> int
override this.SaveChanges : unit -> int
abstract member SaveChanges : unit -> int
override this.SaveChanges : unit -> int
Public Overridable Function SaveChanges () As Integer

Návraty

Počet stavových položek zapsaných do databáze.

Atributy

Výjimky

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

Při ukládání do databáze došlo k narušení souběžnosti. K narušení souběžnosti dojde, 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 automaticky zavolá DetectChanges() ke zjištění všech změn instancí entit před uložením do podkladové databáze. Tuto možnost 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 pro paralelně spouštěné operace používejte samostatné instance DbContext. Další informace a příklady najdete v tématu Zabránění problémům s vytvářením vláken DbContext .

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

Platí pro