using System.Data.Common;
using Microsoft.EntityFrameworkCore.Diagnostics;
namespace BuildFlow.Workflow.Tests.Performance;
/// 统计 EF 显式事务提交次数的测试拦截器。
public sealed class CountingTransactionInterceptor : DbTransactionInterceptor
{
/// 已提交事务数量。
public int CommitCount { get; private set; }
public override void TransactionCommitted(
DbTransaction transaction,
TransactionEndEventData eventData)
=> CommitCount++;
public override Task TransactionCommittedAsync(
DbTransaction transaction,
TransactionEndEventData eventData,
CancellationToken cancellationToken = default)
{
CommitCount++;
return Task.CompletedTask;
}
}