ExecutionStrategyExtensions.ExecuteInTransactionAsync メソッド

定義

オーバーロード

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

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

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

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

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

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

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

指定した非同期操作を実行し、結果を返します。

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

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

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

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

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

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

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

実行に使用される戦略。

operation
Func<Task>

開始タスクを返す関数。

verifySucceeded
Func<Task<Boolean>>

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

戻り値

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

例外

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

注釈

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

適用対象

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

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

戻り値

Task<TResult>

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

例外

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

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

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

戻り値

Task<TResult>

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

例外

構成された再試行回数の後に操作が成功しなかった場合にスローされます。

適用対象

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

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

戻り値

Task<TResult>

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

例外

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

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

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

戻り値

Task<TResult>

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

例外

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

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

注釈

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

適用対象