DbContext.SaveChanges メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
SaveChanges(Boolean) |
このコンテキストで行われたすべての変更をデータベースに保存します。 |
SaveChanges() |
このコンテキストで行われたすべての変更をデータベースに保存します。 |
SaveChanges(Boolean)
このコンテキストで行われたすべての変更をデータベースに保存します。
[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
パラメーター
- acceptAllChangesOnSuccess
- Boolean
変更がデータベースに正常に送信された後に が呼び出されるかどうかを AcceptAllChanges() 示します。
戻り値
データベースに書き込まれた状態エントリの数。
- 属性
例外
データベースへの保存中にエラーが発生しました。
データベースへの保存中にコンカレンシー違反が発生しました。 コンカレンシー違反は、保存中に予期しない数の行が影響を受けると発生します。 これは通常、データベース内のデータがメモリに読み込まれてから変更されているためです。
注釈
このメソッドは、 を自動的に呼び出 DetectChanges() して、基になるデータベースに保存する前にエンティティ インスタンスに対する変更を検出します。 これは、 を使用して AutoDetectChangesEnabled無効にすることができます。
Entity Framework Core では、同じ DbContext インスタンスで実行される複数の並列操作はサポートされていません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 したがって、常に非同期呼び出しをすぐに待機するか、並列で実行される操作に個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。
詳細と例については、「 EF Core でのデータの保存 」を参照してください。
適用対象
SaveChanges()
このコンテキストで行われたすべての変更をデータベースに保存します。
[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
戻り値
データベースに書き込まれた状態エントリの数。
- 属性
例外
データベースへの保存中にエラーが発生しました。
データベースへの保存中にコンカレンシー違反が発生しました。 コンカレンシー違反は、保存中に予期しない数の行が影響を受けると発生します。 これは通常、データベース内のデータがメモリに読み込まれてから変更されているためです。
注釈
このメソッドは、 を自動的に呼び出 DetectChanges() して、基になるデータベースに保存する前にエンティティ インスタンスに対する変更を検出します。 これは、 を使用して AutoDetectChangesEnabled無効にすることができます。
Entity Framework Core では、同じ DbContext インスタンスで実行される複数の並列操作はサポートされていません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 したがって、常に非同期呼び出しをすぐに待機するか、並列で実行される操作に個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。
詳細と例については、「 EF Core でのデータの保存 」を参照してください。
適用対象
Entity Framework