次の方法で共有


DbContext.SaveChanges メソッド

定義

オーバーロード

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 でのデータの保存 」を参照してください。

適用対象