一、遷移說明 ABP模板項目Entity Framework Core預設使用的是Sql Server,也很容易將資料庫遷移到MySQL,步驟如下。 二、遷移MySQL步驟 1、 下載項目 請到 http://aspnetboilerplate.com/Templates 下載一個新的項目,選擇AS ...
一、遷移說明
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
"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遷移後運行瀏覽成功