From 99428cf15668e7e4df7cc6dad26ede7deaee39a7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 03:08:16 +0000 Subject: [PATCH] Remove Aspire EF Core integration, use standard EF Core 8 with manual configuration Co-authored-by: collinbarrett <6483057+collinbarrett@users.noreply.github.com> --- .../ConfigurationExtensions.cs | 31 ++++++++++++------- ...ilterLists.Directory.Infrastructure.csproj | 2 -- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs index d30e3d787..4125210b4 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs +++ b/services/Directory/FilterLists.Directory.Infrastructure/ConfigurationExtensions.cs @@ -1,6 +1,7 @@ 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; @@ -12,17 +13,25 @@ public static class ConfigurationExtensions public static void AddInfrastructure(this IHostApplicationBuilder builder) { - // 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))); + // 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)); + }); 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 380c577b0..6df5ebd09 100644 --- a/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj +++ b/services/Directory/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj @@ -5,9 +5,7 @@ - - \ No newline at end of file