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