diff --git a/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs index 4125210b4..d30e3d787 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs @@ -1,7 +1,6 @@ using FilterLists.Directory.Infrastructure.Persistence.Queries; using FilterLists.Directory.Infrastructure.Persistence.Queries.Context; using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -13,25 +12,17 @@ public static class ConfigurationExtensions public static void AddInfrastructure(this IHostApplicationBuilder builder) { - // Get connection string from configuration - var connectionString = builder.Configuration.GetConnectionString("directorydb") - ?? throw new InvalidOperationException("Connection string 'directorydb' not found."); - - // Register DbContext with standard EF Core configuration - builder.Services.AddDbContext(options => - { - options.UseSqlServer(connectionString, sqlServerOptions => - { - // retry on Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - Undefined error: 0) - sqlServerOptions.EnableRetryOnFailure(errorNumbersToAdd: [0]); - sqlServerOptions.MigrationsAssembly(MigrationsAssembly); - }); - - options.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); - options.EnableSensitiveDataLogging(string.Equals( - Environment.GetEnvironmentVariable("DOTNET_RUNNING_EF_CORE_TOOLS"), "true", - StringComparison.OrdinalIgnoreCase)); - }); + // TODO: use different connection strings for migrations and queries (https://stackoverflow.com/q/78564037/2343739) + builder.AddSqlServerDbContext("directorydb", + _ => { }, + o => o.UseSqlServer(so => + // retry on Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - Undefined error: 0) + so.EnableRetryOnFailure([0]) + .MigrationsAssembly(MigrationsAssembly)) + .UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking) + .EnableSensitiveDataLogging(string.Equals( + Environment.GetEnvironmentVariable("DOTNET_RUNNING_EF_CORE_TOOLS"), "true", + StringComparison.OrdinalIgnoreCase))); builder.Services.AddHostedService(); } diff --git a/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj b/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj index 6df5ebd09..f4b50a7f1 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj +++ b/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj @@ -5,7 +5,7 @@ - + \ No newline at end of file diff --git a/services/FilterLists.AppHost/FilterLists.AppHost.csproj b/services/FilterLists.AppHost/FilterLists.AppHost.csproj index 8835b19ce..723590edb 100644 --- a/services/FilterLists.AppHost/FilterLists.AppHost.csproj +++ b/services/FilterLists.AppHost/FilterLists.AppHost.csproj @@ -1,6 +1,6 @@ - + Exe @@ -13,8 +13,8 @@ - - + +