ExecutionStrategyExtensions.ExecuteInTransactionAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)
指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task ExecuteInTransactionAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.Tasks.Task> operation, Func<System.Threading.Tasks.Task<bool>> verifySucceeded);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task> * Func<System.Threading.Tasks.Task<bool>> -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of Task), verifySucceeded As Func(Of Task(Of Boolean))) As Task
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)
指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task ExecuteInTransactionAsync (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- operation
- Func<CancellationToken,Task>
開始タスクを返す関数。
- verifySucceeded
- Func<CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)
指定した非同期操作をトランザクションで実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TResult) (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
型パラメーター
- TResult
によってoperation
返される のTask<TResult>結果の型。
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- operation
- Func<CancellationToken,Task<TResult>>
型 TResult
の開始タスクを返す関数。
- verifySucceeded
- Func<CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)
指定した非同期操作を実行し、結果を返します。
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, Microsoft.EntityFrameworkCore.DbContext context, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * Microsoft.EntityFrameworkCore.DbContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), state As TState, context As DbContext, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
型パラメーター
- TState
状態の型。
- TResult
によってoperation
返される のTask<TResult>結果の型。
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- operation
- Func<TState,CancellationToken,Task<TResult>>
型 TResult
の開始タスクを返す関数。
- verifySucceeded
- Func<TState,CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- state
- TState
操作に渡される状態。
- context
- DbContext
トランザクションの開始に使用されるコンテキスト。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
構成された再試行回数の後に操作が成功しなかった場合にスローされます。
適用対象
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)
指定した非同期操作をトランザクションで実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
型パラメーター
- TState
状態の型。
- TResult
によってoperation
返される のTask<TResult>結果の型。
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- state
- TState
操作に渡される状態。
- operation
- Func<TState,CancellationToken,Task<TResult>>
型 TResult
の開始タスクを返す関数。
- verifySucceeded
- Func<TState,CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, Func<DbContext,CancellationToken, Task<IDbContextTransaction>>, CancellationToken)
指定した非同期操作をトランザクションで実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, Func<Microsoft.EntityFrameworkCore.DbContext,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> beginTransaction, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * Func<Microsoft.EntityFrameworkCore.DbContext, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), beginTransaction As Func(Of DbContext, CancellationToken, Task(Of IDbContextTransaction)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
型パラメーター
- TState
状態の型。
- TResult
によってoperation
返される のTask<TResult>結果の型。
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- state
- TState
操作に渡される状態。
- operation
- Func<TState,CancellationToken,Task<TResult>>
型 TResult
の開始タスクを返す関数。
- verifySucceeded
- Func<TState,CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- beginTransaction
- Func<DbContext,CancellationToken,Task<IDbContextTransaction>>
指定したコンテキストを使用してトランザクションを開始するデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)
指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。
public static System.Threading.Tasks.Task ExecuteInTransactionAsync<TState> (this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task
型パラメーター
- TState
状態の型。
パラメーター
- strategy
- IExecutionStrategy
実行に使用される戦略。
- state
- TState
操作に渡される状態。
- operation
- Func<TState,CancellationToken,Task>
開始タスクを返す関数。
- verifySucceeded
- Func<TState,CancellationToken,Task<Boolean>>
トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。
- cancellationToken
- CancellationToken
再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。
戻り値
元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。
例外
この操作は、構成された再試行回数の後に成功していません。
CancellationToken が取り消されている場合。
注釈
詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。
適用対象
Entity Framework