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
用于取消重试操作的取消令牌,但不是已处于未执行状态或已成功完成的操作。
返回
如果原始任务成功完成, (第一次或重试暂时性故障) 后,将运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息 和示例,请参阅连接复原和数据库重试 。
适用于
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
用于取消重试操作的取消令牌,但不是已处于未执行状态或已成功完成的操作。
返回
如果原始任务成功完成, (第一次或重试暂时性故障) 后,将运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息 和示例,请参阅连接复原和数据库重试 。
适用于
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
用于取消重试操作的取消令牌,但不是已处于未执行状态或已成功完成的操作。
返回
如果原始任务成功完成, (第一次或重试暂时性故障) 后,将运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息 和示例,请参阅连接复原和数据库重试 。
适用于
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
用于取消重试操作的取消令牌,但不是已处于未执行状态或已成功完成的操作。
返回
如果原始任务成功完成, (第一次或重试暂时性故障) 后,将运行到完成的任务。 如果任务失败并出现非暂时性错误或达到重试限制,则返回的任务将出错,必须观察异常。
例外
在配置的重试次数后,操作未成功。
注解
有关详细信息 和示例,请参阅连接复原和数据库重试 。