build-flow.api/tests/BuildFlow.Workflow.Tests/Performance/CountingTransactionInterceptor.cs
2026-07-24 09:10:49 +08:00

26 lines
795 B
C#

using System.Data.Common;
using Microsoft.EntityFrameworkCore.Diagnostics;
namespace BuildFlow.Workflow.Tests.Performance;
/// <summary>统计 EF 显式事务提交次数的测试拦截器。</summary>
public sealed class CountingTransactionInterceptor : DbTransactionInterceptor
{
/// <summary>已提交事务数量。</summary>
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;
}
}