From a56ff20c1ad74ca12abb58f50acd7f4cd1a5b3ce Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 26 Jul 2025 18:19:26 +0800 Subject: [PATCH] Rename MySQL extension methods for clarity --- docs/en/framework/data/entity-framework-core/mysql.md | 10 +++++++--- .../AbpDbContextConfigurationContextMySQLExtensions.cs | 2 +- .../AbpDbContextOptionsMySQLExtensions.cs | 8 ++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/en/framework/data/entity-framework-core/mysql.md b/docs/en/framework/data/entity-framework-core/mysql.md index 7760598414..64fa500b89 100644 --- a/docs/en/framework/data/entity-framework-core/mysql.md +++ b/docs/en/framework/data/entity-framework-core/mysql.md @@ -12,15 +12,19 @@ This document explains how to switch to the **MySQL** database provider for **[t Find ***YourProjectName*EntityFrameworkCoreModule** class inside the `.EntityFrameworkCore` project, remove `typeof(AbpEntityFrameworkCoreSqlServerModule)` from the `DependsOn` attribute, add `typeof(AbpEntityFrameworkCoreMySQLModule)` (also replace `using Volo.Abp.EntityFrameworkCore.SqlServer;` with `using Volo.Abp.EntityFrameworkCore.MySQL;`). -## UseMySQL() +## UsePomeloMySQL() Find `UseSqlServer()` calls in your solution. Check the following files: -* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UseMySQL()`. -* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UseMySql()`. Then add a new parameter (`ServerVersion`) to `UseMySql()` method. Example: `.UseMySql(configuration.GetConnectionString("Default"), ServerVersion.Parse("8.0.21-mysql"))`. See [this issue](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/pull/1233) for more information about `ServerVersion`) +* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UsePomeloMySQL()`. +* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UsePomeloMySQL()`. > Depending on your solution structure, you may find more code files need to be changed. +## UseMySQLConnector() + +You can also use the [MySql.EntityFrameworkCore](https://www.nuget.org/packages/MySql.EntityFrameworkCore) package instead of the Pomelo provider. If you want to use this package, you need to change the `UseMySQLConnector()` method instead of `UsePomeloMySQL()`. + ## Change the Connection Strings MySQL connection strings are different than SQL Server connection strings. So, check all `appsettings.json` files in your solution and replace the connection strings inside them. See the [connectionstrings.com](https://www.connectionstrings.com/mysql) for details of MySQL connection string options. diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs index 11d14ff9e3..d00fc0d7d2 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextConfigurationContextMySQLExtensions.cs @@ -48,7 +48,7 @@ public static class AbpDbContextConfigurationContextMySQLExtensions /// /// This extension method is configuring the use MySql.EntityFrameworkCore as the database provider. /// - public static DbContextOptionsBuilder UseMySQL( + public static DbContextOptionsBuilder UseMySQLConnector( [NotNull] this AbpDbContextConfigurationContext context, Action? mySQLOptionsAction = null) { diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs index 3f41ae931f..5418ce4148 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore.MySQL/Volo/Abp/EntityFrameworkCore/AbpDbContextOptionsMySQLExtensions.cs @@ -43,24 +43,24 @@ public static class AbpDbContextOptionsMySQLExtensions }); } - public static void UseMySQL( + public static void UseMySQLConnector( [NotNull] this AbpDbContextOptions options, Action? mySQLOptionsAction = null) { options.Configure(context => { - context.UseMySQL(mySQLOptionsAction); + context.UseMySQLConnector(mySQLOptionsAction); }); } - public static void UseMySQL( + public static void UseMySQLConnector( [NotNull] this AbpDbContextOptions options, Action? mySQLOptionsAction = null) where TDbContext : AbpDbContext { options.Configure(context => { - context.UseMySQL(mySQLOptionsAction); + context.UseMySQLConnector(mySQLOptionsAction); }); } }