原标题:ABP .Net Core Entity Framework迁移使用MySql数据库
一、迁移说明
ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下。
二、迁移MySQL步骤
1、 下载项目
请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签,Target Framework:选中.Net Core就可以了。
2、 移除默认SQL Server相关包
在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design
3、 添加MySql程序包
添加程序包Pomelo.EntityFrameworkCore.MySql、Pomelo.EntityFrameworkCore.MySql.Design
4、 修改源代码
修改DbContextConfigurer
public static class AbpBasicDbContextConfigurer
{
public static void Configure(DbContextOptionsBuilder builder, string connectionString)
{
//builder.UseSqlServer(connectionString);
builder.UseMySql(connectionString);
}
public static void Configure(DbContextOptionsBuilder builder, DbConnection connection)
{
//builder.UseSqlServer(connection);
builder.UseMySql(connection);
}
}
5、 修改数据库链接字符串
在web项目配置文件appsettings.json
1
2
3
4
"ConnectionStrings": {
//"Default": "Server=localhost; Database=AbpBasicDb; Trusted_Connection=True;"
"Default": "Server=localhost; port=3306; Database=AbpBasicDb; uid=root; pwd=****; Convert Zero Datetime=True"
}
6、 数据迁移
重新生成迁移文件
在下载启动模板的时候,如果你选择了包含 Module Zero。这里会有一些迁移文件会包含在你的项目中,但是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,然后删除这些迁移文件。迁移文件是以时间戳开始的。迁移文件的名字像这样:201506210746108_AbpZero_Initial。
在删除所有的迁移文件后,选择你的 .Web 项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择 .EntityFramework 项目作为默认项目。然后在控制台中执行下面命令:
Add-Migration "AbpZero_Initial"
现在你可以使用下面命令来创建数据库:
Update-Database
所有的事情都已完成,检查 MySQL数据库已生产成功
7、 完成MySQL迁移后运行浏览成功