using Microsoft.Extensions.Configuration; using MySqlConnector; namespace Tiger.Storage; public class DatabaseHelper : IDatabaseHelper { private readonly string _connectionString; public DatabaseHelper(IConfiguration configuration) { var stringBuilder = new MySqlConnectionStringBuilder { Server = configuration["Database:Host"], Port = uint.Parse(configuration["Database:Port"] ?? "3306"), UserID = configuration["Database:Username"], Password = configuration["Database:Password"], Database = configuration["Database:Database"], Pooling = true, MinimumPoolSize = uint.Parse(configuration["Database:MinPool"] ?? "5"), MaximumPoolSize = uint.Parse(configuration["Database:MaxPool"] ?? "15") }; _connectionString = stringBuilder.ToString(); } public DatabaseConnection GetConnection() { return new DatabaseConnection(new MySqlConnection(_connectionString)); } }