From 458b09de2fa336b91ecc4b5098acc155568f1d93 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Thu, 2 Jan 2025 11:14:43 -0500 Subject: [PATCH] Switch back to constants for parameterized collections See https://github.com/dotnet/efcore/issues/34347 --- src/Tgstation.Server.Host/Database/MySqlDatabaseContext.cs | 1 + .../Database/PostgresSqlDatabaseContext.cs | 1 + .../Database/SqlServerDatabaseContext.cs | 1 + src/Tgstation.Server.Host/Database/SqliteDatabaseContext.cs | 6 +++++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Database/MySqlDatabaseContext.cs b/src/Tgstation.Server.Host/Database/MySqlDatabaseContext.cs index 4bdcf9a066..6a94adf80b 100644 --- a/src/Tgstation.Server.Host/Database/MySqlDatabaseContext.cs +++ b/src/Tgstation.Server.Host/Database/MySqlDatabaseContext.cs @@ -57,6 +57,7 @@ namespace Tgstation.Server.Host.Database serverVersion, mySqlOptions => { + mySqlOptions.TranslateParameterizedCollectionsToConstants(); mySqlOptions.EnableRetryOnFailure(); mySqlOptions.UseQuerySplittingBehavior(QuerySplittingBehavior.SingleQuery); }); diff --git a/src/Tgstation.Server.Host/Database/PostgresSqlDatabaseContext.cs b/src/Tgstation.Server.Host/Database/PostgresSqlDatabaseContext.cs index d9157ab41a..0633fd66cd 100644 --- a/src/Tgstation.Server.Host/Database/PostgresSqlDatabaseContext.cs +++ b/src/Tgstation.Server.Host/Database/PostgresSqlDatabaseContext.cs @@ -41,6 +41,7 @@ namespace Tgstation.Server.Host.Database AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); options.UseNpgsql(databaseConfiguration.ConnectionString, options => { + options.TranslateParameterizedCollectionsToConstants(); options.EnableRetryOnFailure(); options.UseQuerySplittingBehavior(QuerySplittingBehavior.SingleQuery); diff --git a/src/Tgstation.Server.Host/Database/SqlServerDatabaseContext.cs b/src/Tgstation.Server.Host/Database/SqlServerDatabaseContext.cs index 3997e0a46b..432a77863b 100644 --- a/src/Tgstation.Server.Host/Database/SqlServerDatabaseContext.cs +++ b/src/Tgstation.Server.Host/Database/SqlServerDatabaseContext.cs @@ -37,6 +37,7 @@ namespace Tgstation.Server.Host.Database databaseConfiguration.ConnectionString, sqlServerOptions => { + sqlServerOptions.TranslateParameterizedCollectionsToConstants(); sqlServerOptions.EnableRetryOnFailure(); sqlServerOptions.UseQuerySplittingBehavior(QuerySplittingBehavior.SingleQuery); }); diff --git a/src/Tgstation.Server.Host/Database/SqliteDatabaseContext.cs b/src/Tgstation.Server.Host/Database/SqliteDatabaseContext.cs index 98a58190d9..fc85424211 100644 --- a/src/Tgstation.Server.Host/Database/SqliteDatabaseContext.cs +++ b/src/Tgstation.Server.Host/Database/SqliteDatabaseContext.cs @@ -56,7 +56,11 @@ namespace Tgstation.Server.Host.Database if (databaseConfiguration.DatabaseType != DatabaseType.Sqlite) throw new InvalidOperationException($"Invalid DatabaseType for {nameof(SqliteDatabaseContext)}!"); - options.UseSqlite(databaseConfiguration.ConnectionString, sqliteOptions => sqliteOptions.UseQuerySplittingBehavior(QuerySplittingBehavior.SingleQuery)); + options.UseSqlite(databaseConfiguration.ConnectionString, sqliteOptions => + { + sqliteOptions.TranslateParameterizedCollectionsToConstants(); + sqliteOptions.UseQuerySplittingBehavior(QuerySplittingBehavior.SingleQuery); + }); } ///