次の方法で共有


RelationalExecutionStrategyExtensions.ExecuteInTransactionAsync メソッド

定義

オーバーロード

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

指定した非同期操作をトランザクションで実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

指定した非同期操作を実行し、結果を返します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken)

指定した非同期操作をトランザクションで実行します。 コミット中にエラーが発生した場合にトランザクションがロールバックされたかどうかをチェックできます。

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

実行に使用される戦略。

operation
Func<Task>

開始タスクを返す関数。

verifySucceeded
Func<Task<Boolean>>

トランザクションのコミット時に例外がスローされた場合でも、操作が成功したかどうかをテストするデリゲート。

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

再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。

戻り値

Task<TResult>

元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。

例外

この操作は、構成された再試行回数の後に成功していません。

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

再試行操作を取り消すために使用されるキャンセル トークン。ただし、既に実行中の操作や既に正常に完了した操作は使用しません。

戻り値

Task<TResult>

元のタスクが正常に完了した場合 (初回または一時的なエラーの再試行後) に完了するまで実行されるタスク。 タスクが一時的でないエラーで失敗した場合、または再試行の制限に達した場合、返されるタスクはエラーになり、例外を観察する必要があります。

例外

この操作は、構成された再試行回数の後に成功していません。

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 が取り消されている場合。

注釈

詳細と例については、「 接続の回復性とデータベースの再試行 」を参照してください。

適用対象