项目中如果需要其他方式数据库的支持,那么需要先删除之前的支持程序集,再引入相应的支持程序集。
1、 移除默认SQL Server相关包
在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design
2、 在Nuget中安装ABP官方文档中推荐使用的MySql相关包,
目前使用的是基于正式版的.NETCore5.0,那么Microsoft.EntityFrameworkCore.Relational对应版本是5.0.0。因此,对应这些版本的驱动如下图所示。
3、修改源代码
public static class DYDbContextConfigurer
{
public static void Configure(DbContextOptionsBuilder<DYDbContext> builder, string connectionString)
{
//builder.UseSqlServer(connectionString);
builder.UseMySql(connectionString, new MySqlServerVersion(new System.Version(5, 0)));
}
public static void Configure(DbContextOptionsBuilder<DYDbContext> builder, DbConnection connection)
{
//builder.UseSqlServer(connection);
builder.UseMySql(connection,new MySqlServerVersion(new System.Version(5,0)));
}
}
4、修改数据库链接字符串
所有的配置文件appsettings.json更改连接词
"ConnectionStrings": {
//"Default": "Server=localhost; Database=BlogDb; Trusted_Connection=True;"
"MySql": "Server=localhost; Database=xxx; Uid=root; Pwd=xxx; port=3306;Convert Zero Datetime=True"
}
5、数据迁移
1)在下载启动模板的时候,如果你选择了包含 Module Zero。这里会有一些迁移文件会包含在你的项目中,但是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,然后删除所有的迁移文件。迁移文件是以时间戳开始的。
2)在删除所有的迁移文件后,选择你的 .Web 项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择 .EntityFramework 项目作为默认项目。然后在控制台中执行下面命令:
Add-Migration "AbpZero_Initial"
3)第二部执行完成就可以使用下面命令来创建数据库:
Update-Database
6、所有的事情都已完成,检查 MySQL数据库已生产成功