DbContext.SaveChanges Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Entity Framework