init Core infra

This commit is contained in:
Riccardo Usardi committed 2025-07-04 07:47:07 +02:00
1 parent c1cce144ad
commit 9036616a59
29 files changed
+323 -127

No files matched your search

@@ -0,0 +1,40 @@
using Microsoft.Extensions.Configuration;
using MySqlConnector;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace uWine.Core.Infrastructure.Repository
{
public abstract class MariaDbServerRepository
{
readonly protected IConfiguration Configuration;
public MariaDbServerRepository(IConfiguration configuration)
{
Configuration = configuration;
}
protected MySqlConnection Connection()
{
return new MySqlConnection(ConnectionString());
}
string ConnectionString()
{
var builder = new MySqlConnectionStringBuilder();
builder.Server = Configuration.GetValue<string>($"db:mariaDbServer");
builder.Database = Configuration.GetValue<string>($"db:mariaDbSchema");
builder.UserID = Configuration.GetValue<string>($"db:mariaDbUser");
builder.Password = Configuration.GetValue<string>($"db:mariaDbPassword");
builder.SslMode = MySqlSslMode.None;
builder.MinimumPoolSize = 10;
builder.MaximumPoolSize = uint.Parse(Configuration.GetValue<string>($"db:mariaDbPoolSize"));
builder.Pooling = true;
return builder.ConnectionString;
}
}
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.6" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.6" />
<PackageReference Include="MySqlConnector" Version="2.4.0" />
</ItemGroup>
</Project>