using System.Data; using Microsoft.Extensions.Configuration; using MySql.Data.MySqlClient; using ServerLib.RDB.Database; namespace MMOserver.RDB; public class DbConnectionFactory : IDbConnectionFactory { private readonly string connectionString; public DbConnectionFactory(IConfiguration config) { IConfigurationSection db = config.GetSection("Database"); connectionString = $"Server={db["Host"]};" + $"Port={db["Port"]};" + $"Database={db["Name"]};" + $"User={db["User"]};" + $"Password={db["Password"]};" + $"Pooling=true;" + $"MinimumPoolSize={db["Pooling:MinimumPoolSize"]};" + $"MaximumPoolSize={db["Pooling:MaximumPoolSize"]};" + $"ConnectionTimeout={db["Pooling:ConnectionTimeout"]};" + $"ConnectionIdleTimeout={db["Pooling:ConnectionIdleTimeout"]};"; } public IDbConnection CreateConnection() { return new MySqlConnection(connectionString); } }