From 4ed58c67e6bcbe68dd087b34d11102112dfef879 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sat, 28 Dec 2024 20:06:33 +0100 Subject: [PATCH] Enable primitive collections and refactor MySQL EF options. Added support for primitive collections and parameterized collection translation in MySQL EF configurations. Removed redundant `EnablePrimitiveCollectionsSupport` calls in program configuration to centralize the behavior. --- src/apps/Elsa.Server.Web/Program.cs | 12 ++++++------ .../DbContextOptionsBuilder.cs | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/apps/Elsa.Server.Web/Program.cs b/src/apps/Elsa.Server.Web/Program.cs index 44048d8e8..fc36b8e1c 100644 --- a/src/apps/Elsa.Server.Web/Program.cs +++ b/src/apps/Elsa.Server.Web/Program.cs @@ -150,8 +150,8 @@ services else if (sqlDatabaseProvider == SqlDatabaseProvider.PostgreSql) ef.UsePostgreSql(postgresConnectionString!); #if !NET9_0 - else if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) - ef.UseMySql(mySqlConnectionString, null, opt => opt.EnablePrimitiveCollectionsSupport()); + else if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) + ef.UseMySql(mySqlConnectionString); #endif else if (sqlDatabaseProvider == SqlDatabaseProvider.CockroachDb) ef.UsePostgreSql(cockroachDbConnectionString!); @@ -187,7 +187,7 @@ services ef.UsePostgreSql(postgresConnectionString!); #if !NET9_0 else if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) - ef.UseMySql(mySqlConnectionString, null, opt => opt.EnablePrimitiveCollectionsSupport()); + ef.UseMySql(mySqlConnectionString); #endif else if (sqlDatabaseProvider == SqlDatabaseProvider.CockroachDb) ef.UsePostgreSql(cockroachDbConnectionString!); @@ -233,7 +233,7 @@ services ef.UsePostgreSql(postgresConnectionString!); #if !NET9_0 else if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) - ef.UseMySql(mySqlConnectionString, null, opt => opt.EnablePrimitiveCollectionsSupport()); + ef.UseMySql(mySqlConnectionString); #endif else if (sqlDatabaseProvider == SqlDatabaseProvider.CockroachDb) ef.UsePostgreSql(cockroachDbConnectionString!); @@ -361,7 +361,7 @@ services ef.UsePostgreSql(postgresConnectionString); #if !NET9_0 else if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) - ef.UseMySql(mySqlConnectionString, null, opt => opt.EnablePrimitiveCollectionsSupport()); + ef.UseMySql(mySqlConnectionString); #endif else if (sqlDatabaseProvider == SqlDatabaseProvider.CockroachDb) ef.UsePostgreSql(cockroachDbConnectionString!); @@ -550,7 +550,7 @@ services if (sqlDatabaseProvider == SqlDatabaseProvider.PostgreSql) ef.UsePostgreSql(postgresConnectionString); #if !NET9_0 if (sqlDatabaseProvider == SqlDatabaseProvider.MySql) - ef.UseMySql(mySqlConnectionString, null, opt => opt.EnablePrimitiveCollectionsSupport()); + ef.UseMySql(mySqlConnectionString); #endif if (sqlDatabaseProvider == SqlDatabaseProvider.CockroachDb) ef.UsePostgreSql(cockroachDbConnectionString); }); diff --git a/src/modules/Elsa.EntityFrameworkCore.MySql/DbContextOptionsBuilder.cs b/src/modules/Elsa.EntityFrameworkCore.MySql/DbContextOptionsBuilder.cs index 8e64723ff..29af18c12 100644 --- a/src/modules/Elsa.EntityFrameworkCore.MySql/DbContextOptionsBuilder.cs +++ b/src/modules/Elsa.EntityFrameworkCore.MySql/DbContextOptionsBuilder.cs @@ -23,7 +23,9 @@ public static class DbContextOptionsBuilderExtensions db .MigrationsAssembly(options.GetMigrationsAssemblyName(migrationsAssembly)) .MigrationsHistoryTable(options.GetMigrationsHistoryTableName(), options.GetSchemaName()) - .SchemaBehavior(MySqlSchemaBehavior.Ignore); + .SchemaBehavior(MySqlSchemaBehavior.Ignore) + .EnablePrimitiveCollectionsSupport() + .TranslateParameterizedCollectionsToConstants(); configure?.Invoke(db); });