Skip to content

Commit cdcbeeb

Browse files
Improved Base Context Factory
1 parent 948fe38 commit cdcbeeb

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<ImplicitUsings>enable</ImplicitUsings>
55
<Nullable>enable</Nullable>
66
<IsPackable>true</IsPackable>
7-
<Version>2.1.9</Version>
7+
<Version>2.1.10</Version>
88
<Authors>Andrey Serdyuk</Authors>
99
<Company>TaskHub</Company>
1010
<PackageTags>#TaskHub</PackageTags>

TaskHub.Shared.Infrastructure.EfCore/Factories/ContextFactory.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ public abstract class ContextFactoryBase<TFactory, TContext>
77
where TFactory : class
88
where TContext : DbContext
99
{
10-
public DbContextOptions<TContext> BuildOptions(IConfiguration configuration, string connString)
10+
public DbContextOptions<TContext> BuildOptions(string connString)
1111
{
12-
var cs = configuration.GetConnectionString(connString) ??
12+
var config = new ConfigurationBuilder()
13+
.AddUserSecrets<TContext>(optional: false)
14+
.AddEnvironmentVariables()
15+
.Build();
16+
17+
var cs = config.GetConnectionString(connString) ??
1318
throw new InvalidOperationException($"Connection string {connString} not found in user-secrets.");
1419

15-
var res = (new DbContextOptionsBuilder<TContext>()
20+
return new DbContextOptionsBuilder<TContext>()
1621
.UseNpgsql(cs, o => o.UseNetTopologySuite())
17-
.Options);
18-
19-
return res;
22+
.Options;
2023
}
2124
}

TaskHub.Shared.Infrastructure.EfCore/TaskHub.Shared.Infrastructure.EfCore.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
<PrivateAssets>all</PrivateAssets>
66
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
77
</PackageReference>
8+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.10" />
9+
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.10" />
10+
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.10" />
811
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
912
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.NetTopologySuite" Version="9.0.4" />
1013
</ItemGroup>

0 commit comments

Comments
 (0)