31 lines
1.0 KiB
C#
31 lines
1.0 KiB
C#
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));
|
|
}
|
|
} |