init Core infra
This commit is contained in:
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>
|
||||
Reference in new issue
Block a user