DbContext.SaveChangesAsync メソッド

定義

オーバーロード

SaveChangesAsync(Boolean, CancellationToken)

このコンテキストで行われたすべての変更をデータベースに保存します。

SaveChangesAsync(CancellationToken)

このコンテキストで行われたすべての変更をデータベースに保存します。

SaveChangesAsync(Boolean, CancellationToken)

このコンテキストで行われたすべての変更をデータベースに保存します。

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)

パラメーター

acceptAllChangesOnSuccess
Boolean

変更がデータベースに正常に送信された後に が呼び出されるかどうかを AcceptAllChanges() 示します。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

非同期の保存操作を表すタスク。 タスクの結果には、データベースに書き込まれた状態エントリの数が含まれます。

例外

データベースへの保存中にエラーが発生しました。

データベースへの保存中にコンカレンシー違反が発生しました。 コンカレンシー違反は、保存中に予期しない数の行が影響を受けると発生します。 これは通常、データベース内のデータがメモリに読み込まれてから変更されているためです。

CancellationToken が取り消されている場合。

注釈

このメソッドは、 を自動的に呼び出 DetectChanges() して、基になるデータベースに保存する前にエンティティ インスタンスに対する変更を検出します。 これは、 を使用して AutoDetectChangesEnabled無効にすることができます。

Entity Framework Core では、同じ DbContext インスタンスで実行される複数の並列操作はサポートされていません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 したがって、常に非同期呼び出しをすぐに待機するか、並列で実行される操作に個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core でのデータの保存 」を参照してください。

適用対象

SaveChangesAsync(CancellationToken)

このコンテキストで行われたすべての変更をデータベースに保存します。

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)

パラメーター

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

非同期の保存操作を表すタスク。 タスクの結果には、データベースに書き込まれた状態エントリの数が含まれます。

例外

データベースへの保存中にエラーが発生しました。

データベースへの保存中にコンカレンシー違反が発生しました。 コンカレンシー違反は、保存中に予期しない数の行が影響を受けると発生します。 これは通常、データベース内のデータがメモリに読み込まれてから変更されているためです。

CancellationToken が取り消されている場合。

注釈

このメソッドは、 を自動的に呼び出 DetectChanges() して、基になるデータベースに保存する前にエンティティ インスタンスに対する変更を検出します。 これは、 を使用して AutoDetectChangesEnabled無効にすることができます。

Entity Framework Core では、同じ DbContext インスタンスで実行される複数の並列操作はサポートされていません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 したがって、常に非同期呼び出しをすぐに待機するか、並列で実行される操作に個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 EF Core でのデータの保存 」を参照してください。

適用対象