ExecutionStrategy.Execute 方法

定義

多載

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

執行指定的作業並傳回結果。

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

執行指定的作業並傳回結果。

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

執行指定的作業並傳回結果。

public virtual TResult Execute<TState,TResult> (Func<TState,TResult> operation, Func<TState,Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>> verifySucceeded, TState state);
abstract member Execute : Func<'State, 'Result> * Func<'State, Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>> * 'State -> 'Result
override this.Execute : Func<'State, 'Result> * Func<'State, Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>> * 'State -> 'Result
Public Overridable Function Execute(Of TState, TResult) (operation As Func(Of TState, TResult), verifySucceeded As Func(Of TState, ExecutionResult(Of TResult)), state As TState) As TResult

類型參數

TState

狀態的類型。

TResult

的傳回型別 operation

參數

operation
Func<TState,TResult>

委派,表示傳回 型 TResult 別 結果的可執行作業。

verifySucceeded
Func<TState,ExecutionResult<TResult>>

委派,測試作業是否成功,即使擲回例外狀況也一樣。

state
TState

將傳遞至作業的狀態。

傳回

TResult

作業的結果。

實作

例外狀況

如果作業在設定的重試次數之後未成功,則會擲回 。

適用於

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

執行指定的作業並傳回結果。

public virtual TResult Execute<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,TResult> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>> verifySucceeded);
public virtual TResult Execute<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,TResult> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>? verifySucceeded);
abstract member Execute : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, 'Result> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>> -> 'Result
override this.Execute : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, 'Result> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>> -> 'Result
Public Overridable Function Execute(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, TResult), verifySucceeded As Func(Of DbContext, TState, ExecutionResult(Of TResult))) As TResult

類型參數

TState

狀態的類型。

TResult

的傳回型別 operation

參數

state
TState

將傳遞至作業的狀態。

operation
Func<DbContext,TState,TResult>

委派,表示傳回 型 TResult 別 結果的可執行作業。

verifySucceeded
Func<DbContext,TState,ExecutionResult<TResult>>

委派,測試作業是否成功,即使擲回例外狀況也一樣。

傳回

TResult

作業的結果。

實作

例外狀況

在設定的重試次數之後,作業並未成功。

備註

如需詳細資訊 和範例,請參閱連線復原和資料庫重試

適用於