using System.Data.Common; namespace Database.Connection; /// /// Base class for Dapper-based repositories, providing shared connection creation for derived /// repository implementations. /// public abstract class DapperRepository(ISqlConnectionFactory connectionFactory) { /// /// Creates and opens a new database connection using the configured . /// /// Thrown when the connection cannot be opened. protected async Task CreateConnection() { DbConnection connection = connectionFactory.CreateConnection(); await connection.OpenAsync(); return connection; } }