Skip to content

Commit d97b1ca

Browse files
committed
refactor mysql provider
1 parent 0293d03 commit d97b1ca

File tree

5 files changed

+34
-5
lines changed

5 files changed

+34
-5
lines changed

.vs/netcorekit/v16/.suo

14 KB
Binary file not shown.
4 KB
Binary file not shown.

src/NetCoreKit.Infrastructure.EfCore.MySql/DatabaseConnectionStringFactory.cs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
using System.Linq;
2-
using Microsoft.Extensions.Configuration;
32
using Microsoft.Extensions.Options;
43
using NetCoreKit.Infrastructure.EfCore.Db;
54

65
namespace NetCoreKit.Infrastructure.EfCore.MySql
76
{
87
public sealed class DatabaseConnectionStringFactory : IDatabaseConnectionStringFactory
98
{
10-
private readonly IConfiguration _config;
119
private readonly DbOptions _dbOption;
1210

13-
public DatabaseConnectionStringFactory(IConfiguration config, IOptions<DbOptions> options)
11+
public DatabaseConnectionStringFactory()
12+
{
13+
var config = ConfigurationHelper.GetConfiguration();
14+
var dbSection = config.GetSection("Features:EfCore:MySqlDb");
15+
_dbOption = new DbOptions {
16+
ConnString = dbSection["ConnString"],
17+
FQDN = dbSection["FQDN"],
18+
Database = dbSection["Database"],
19+
DbInfo = dbSection["DbInfo"],
20+
UserName = dbSection["UserName"],
21+
Password = dbSection["Password"]
22+
};
23+
}
24+
25+
public DatabaseConnectionStringFactory(IOptions<DbOptions> options)
1426
{
15-
_config = config;
1627
_dbOption = options.Value;
1728
}
1829

src/NetCoreKit.Infrastructure/ConfigurationExtensions.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.IO;
34
using System.Linq;
45
using System.Reflection;
56
using Microsoft.Extensions.Configuration;
@@ -32,4 +33,19 @@ public static IEnumerable<Assembly> LoadApplicationAssemblies(this IConfiguratio
3233
return apps;
3334
}
3435
}
36+
37+
public class ConfigurationHelper
38+
{
39+
public static IConfigurationRoot GetConfiguration(string basePath = null)
40+
{
41+
basePath = basePath ?? Directory.GetCurrentDirectory();
42+
var builder = new ConfigurationBuilder()
43+
.SetBasePath(basePath)
44+
.AddJsonFile("appsettings.json")
45+
.AddJsonFile($"appsettings.{ Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", true)
46+
.AddEnvironmentVariables();
47+
48+
return builder.Build();
49+
}
50+
}
3551
}

src/NetCoreKit.Infrastructure/NetCoreKit.Infrastructure.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<Import Project="..\..\build\packages.props" />
44

@@ -16,6 +16,8 @@
1616
<PackageReference Include="AutoMapper" Version="8.0.0" />
1717
<PackageReference Include="MediatR" Version="6.0.0" />
1818
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="6.0.1" />
19+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
20+
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.2.0" />
1921
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
2022
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="2.2.0" />
2123
<PackageReference Include="Microsoft.AspNetCore.ResponseCaching" Version="2.2.0" />

0 commit comments

Comments
 (0)