Files
a301_mmo_game_server/MMOTestServer/MMOserver/RDB/DbConnectionFactory.cs

32 lines
1.1 KiB
C#

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);
}
}