public InterceptionResult <DbTransaction> TransactionStarting(DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result) { TrackEvent(nameof(TransactionStarting), connection, eventData.ConnectionId, eventData.StartTime); return(result); }
public override InterceptionResult <DbTransaction>?TransactionStarting( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction>?result) { base.TransactionStarting(connection, eventData, result); return(new InterceptionResult <DbTransaction>(new FakeDbTransaction(connection, eventData.IsolationLevel))); }
public override async Task <InterceptionResult <DbTransaction>?> TransactionStartingAsync( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction>?result, CancellationToken cancellationToken = default) { await base.TransactionStartingAsync(connection, eventData, result, cancellationToken); return(new InterceptionResult <DbTransaction>(new FakeDbTransaction(connection, eventData.IsolationLevel))); }
public InterceptionResult <DbTransaction> TransactionStarting( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result) { for (var i = 0; i < _interceptors.Length; i++) { result = _interceptors[i].TransactionStarting(connection, eventData, result); } return(result); }
public async Task <InterceptionResult <DbTransaction> > TransactionStartingAsync( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result, CancellationToken cancellationToken = default) { for (var i = 0; i < _interceptors.Length; i++) { result = await _interceptors[i].TransactionStartingAsync(connection, eventData, result, cancellationToken); } return(result); }
protected virtual void AssertStarting(DbConnection connection, TransactionStartingEventData eventData) { Assert.NotNull(eventData.Context); Assert.NotEqual(default, eventData.ConnectionId);
/// <summary> /// Called just before EF intends to call /// <see cref="DbConnection.BeginTransactionAsync(IsolationLevel,CancellationToken)" />. /// </summary> /// <param name="connection">The connection.</param> /// <param name="eventData">Contextual information about connection and transaction.</param> /// <param name="result"> /// Represents the current result if one exists. /// This value will have <see cref="InterceptionResult{DbTransaction}.HasResult" /> set to <see langword="true" /> if some previous /// interceptor suppressed execution by calling <see cref="InterceptionResult{DbTransaction}.SuppressWithResult" />. /// This value is typically used as the return value for the implementation of this method. /// </param> /// <param name="cancellationToken">A <see cref="CancellationToken" /> to observe while waiting for the task to complete.</param> /// <returns> /// If <see cref="InterceptionResult{DbTransaction}.HasResult" /> is false, the EF will continue as normal. /// If <see cref="InterceptionResult{DbTransaction}.HasResult" /> is true, then EF will suppress the operation it /// was about to perform and use <see cref="InterceptionResult{DbTransaction}.Result" /> instead. /// A normal implementation of this method for any interceptor that is not attempting to change the result /// is to return the <paramref name="result" /> value passed in, often using <see cref="Task.FromResult{TResult}" /> /// </returns> /// <exception cref="OperationCanceledException">If the <see cref="CancellationToken" /> is canceled.</exception> public virtual ValueTask <InterceptionResult <DbTransaction> > TransactionStartingAsync( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result, CancellationToken cancellationToken = default) => new(result);
/// <summary> /// Called just before EF intends to call <see cref="DbConnection.BeginTransaction(IsolationLevel)" />. /// </summary> /// <param name="connection">The connection.</param> /// <param name="eventData">Contextual information about connection and transaction.</param> /// <param name="result"> /// Represents the current result if one exists. /// This value will have <see cref="InterceptionResult{DbTransaction}.HasResult" /> set to <see langword="true" /> if some previous /// interceptor suppressed execution by calling <see cref="InterceptionResult{DbTransaction}.SuppressWithResult" />. /// This value is typically used as the return value for the implementation of this method. /// </param> /// <returns> /// If <see cref="InterceptionResult{DbTransaction}.HasResult" /> is false, the EF will continue as normal. /// If <see cref="InterceptionResult{DbTransaction}.HasResult" /> is true, then EF will suppress the operation it /// was about to perform and use <see cref="InterceptionResult{DbTransaction}.Result" /> instead. /// A normal implementation of this method for any interceptor that is not attempting to change the result /// is to return the <paramref name="result" /> value passed in, often using <see cref="Task.FromResult{TResult}" /> /// </returns> public virtual InterceptionResult <DbTransaction> TransactionStarting( DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result) => result;
public override ValueTask <InterceptionResult <DbTransaction> > TransactionStartingAsync(DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result, CancellationToken cancellationToken = default) { this.WillStartTransaction(); return(base.TransactionStartingAsync(connection, eventData, result, cancellationToken)); }
public override InterceptionResult <DbTransaction> TransactionStarting(DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result) { this.WillStartTransaction(); return(base.TransactionStarting(connection, eventData, result)); }
public ValueTask <InterceptionResult <DbTransaction> > TransactionStartingAsync(DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result, CancellationToken cancellationToken = new CancellationToken()) { TrackEvent(nameof(TransactionStartingAsync), connection, eventData.ConnectionId, eventData.StartTime); return(ValueTask.FromResult(result)); }
public override async Task <InterceptionResult <DbTransaction> > TransactionStartingAsync(DbConnection connection, TransactionStartingEventData eventData, InterceptionResult <DbTransaction> result, CancellationToken cancellationToken = new CancellationToken()) { return(await base.TransactionStartingAsync(connection, eventData, result, cancellationToken)); }