ABP .Net Core Entity Framework迁移使用MySql数据库

1、迁移说明html

ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤以下。web

2、迁移MySQL步骤数据库

一、 下载项目json

请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签,Target Framework:选中.Net Core就能够了。app

二、 移除默认SQL Server相关包ui

在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Designspa

 

三、  添加MySql程序包3d

 添加程序包Pomelo.EntityFrameworkCore.MySqlPomelo.EntityFrameworkCore.MySql.Designcode

 

四、  修改源代码htm

修改DbContextConfigurer

public static class AbpBasicDbContextConfigurer
{
        public static void Configure(DbContextOptionsBuilder<AbpBasicDbContext> builder, string connectionString)
        {
            //builder.UseSqlServer(connectionString);
            builder.UseMySql(connectionString);
        }

        public static void Configure(DbContextOptionsBuilder<AbpBasicDbContext> builder, DbConnection connection)
        {
            //builder.UseSqlServer(connection);
            builder.UseMySql(connection);
        }
}

 

五、  修改数据库连接字符串

在web项目配置文件appsettings.json

"ConnectionStrings": {
    //"Default": "Server=localhost; Database=AbpBasicDb; Trusted_Connection=True;"
    "Default": "Server=localhost; port=3306; Database=AbpBasicDb; uid=root; pwd=****; Convert Zero Datetime=True"
}

 

六、  数据迁移

从新生成迁移文件

在下载启动模板的时候,若是你选择了包含 Module Zero。这里会有一些迁移文件会包含在你的项目中,可是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,而后删除这些迁移文件。迁移文件是以时间戳开始的。迁移文件的名字像这样:201506210746108_AbpZero_Initial。

在删除全部的迁移文件后,选择你的 .Web 项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择 .EntityFramework 项目做为默认项目。而后在控制台中执行下面命令:

Add-Migration "AbpZero_Initial"

在ABP后面版本会报错:

Your startup project 'ABP.Web.Host' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

只须要在Web.Host项目安装对应版本的nuget包 Microsoft.EntityFrameworkCore.Tools,而后从新运行命令:Add-Migration "AbpZero_Initial" 便可

如今你可使用下面命令来建立数据库:

Update-Database

全部的事情都已完成,检查 MySQL数据库已生产成功

 

七、  完成MySQL迁移后运行浏览成功

 

相关文章
相关标签/搜索