diff --git a/src/dotnet/QuantEngine.Infrastructure/Data/DbConnectionFactory.cs b/src/dotnet/QuantEngine.Infrastructure/Data/DbConnectionFactory.cs index ad47d10..e280bf8 100644 --- a/src/dotnet/QuantEngine.Infrastructure/Data/DbConnectionFactory.cs +++ b/src/dotnet/QuantEngine.Infrastructure/Data/DbConnectionFactory.cs @@ -8,18 +8,28 @@ namespace QuantEngine.Infrastructure.Data IDbConnection CreateConnection(); } - public class DbConnectionFactory : IDbConnectionFactory + public class DbConnectionFactory : IDbConnectionFactory, IDisposable { - private readonly string _connectionString; + private readonly NpgsqlDataSource _dataSource; public DbConnectionFactory(string connectionString) { - _connectionString = connectionString; + _dataSource = NpgsqlDataSource.Create(connectionString); + } + + public DbConnectionFactory(NpgsqlDataSource dataSource) + { + _dataSource = dataSource; } public IDbConnection CreateConnection() { - return new NpgsqlConnection(_connectionString); + return _dataSource.CreateConnection(); + } + + public void Dispose() + { + _dataSource.Dispose(); } } } diff --git a/src/dotnet/QuantEngine.Web/Pages/Account/Login.cshtml b/src/dotnet/QuantEngine.Web/Pages/Account/Login.cshtml index 9b90276..f31e7ca 100644 --- a/src/dotnet/QuantEngine.Web/Pages/Account/Login.cshtml +++ b/src/dotnet/QuantEngine.Web/Pages/Account/Login.cshtml @@ -223,6 +223,7 @@ }