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遷移後運行瀏覽成功

 

相關文章
相關標籤/搜索