using Microsoft.Data.SqlClient; using System.Threading; using System.Threading.Tasks; namespace XLAB2.Infrastructure; internal interface IDatabaseConnectionFactory { string ConnectionString { get; } DatabaseOptions Options { get; } SqlConnection CreateConnection(); Task OpenConnectionAsync(CancellationToken cancellationToken = default); }