1. 程式人生 > >ABP .Net Core Entity Framework遷移使用MySql數據庫

ABP .Net Core Entity Framework遷移使用MySql數據庫

clr 默認 項目配置 ask mysq stat CMF aec datetime

一、遷移說明

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<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);

}

}

技術分享圖片

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

技術分享圖片

原文地址:https://www.cnblogs.com/donaldtdz/p/8149598.html

ABP .Net Core Entity Framework遷移使用MySql數據庫