Share via


DbContext.SaveChangesAsync メソッド

[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]

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

名前空間:  System.Data.Entity
アセンブリ:  EntityFramework (EntityFramework.dll 内)

構文

'宣言
Public Overridable Function SaveChangesAsync As Task(Of Integer)
'使用
Dim instance As DbContext 
Dim returnValue As Task(Of Integer)

returnValue = instance.SaveChangesAsync()
public virtual Task<int> SaveChangesAsync()
public:
virtual Task<int>^ SaveChangesAsync()
abstract SaveChangesAsync : unit -> Task<int> 
override SaveChangesAsync : unit -> Task<int> 
public function SaveChangesAsync() : Task<int>

戻り値

型 : System.Threading.Tasks.Task<Int32>
非同期保存操作を表すタスク。タスクの結果には、基になるデータベースに書き込まれたオブジェクト数が示されます。

例外

例外 状態
DbUpdateException

データベースへの更新の送信で発生するエラー。

DbUpdateConcurrencyException

予想される行の数に影響しないデータベース コマンド。 これは、通常、オプティミスティック同時実行制御違反を示しています。つまり、データベースの行のクエリがなされた後、その行が変更されたということです。

DbEntityValidationException

エンティティ プロパティの検証がエラーになったため、保存は中止されました。

NotSupportedException

同じコンテキスト インスタンスで非同期コマンドを同時に複数実行するなど、サポートされていない動作を使おうとしました。

ObjectDisposedException

コンテキストまたは接続が破棄されました。

InvalidOperationException

データベースにコマンドを送信する前後どちらかで、エンティティをコンテキストで処理しようとして何らかのエラーが発生しました。

解説

同じコンテキスト インスタンスに対する複数のアクティブ操作はサポートされません。 このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認するために await を使用します。

参照

参照

DbContext クラス

SaveChangesAsync オーバーロード

System.Data.Entity 名前空間