首先說明:本文使用Mysql這塊拷貝自:https://blog.csdn.net/tangmou_ren/article/details/84856892,感謝作者。
1.移除SQL Server的Nuget包
打開程序包管理器控制台,並選中xxx.EntityFrameworkCore
執行下面兩條命令:
uninstall-package microsoft.entityframeworkcore.design
uninstall-package microsoft.entityframeworkcore.sqlserver
2.安裝MySQL的Nuget包
執行下面兩條命令:
install-package pomelo.entityframeworkcore.mysql.design install-package pomelo.entityframeworkcore.mysql
3.更改配置文件
在解決方案的EntityFrameCore層找到DbContextConfigurer文件,並做如下修改:
4.修改數據庫連接字符串
在appsetting.json文件中修改數據庫連接字符串:
"Default": "Server=localhost;Port=3306;Database=你的數據庫名;Uid=數據庫用戶名;Pwd=密碼;"
5.添加數據遷移
先說明下:這個步驟需要先將xxx.Web.Host設為啟動項,否則會提示xxx.Web.Host不是啟動項錯誤信息。
刪除EntityFrameCore層中Migrations文件夾里的所有文件,別刪除Migrations文件夾。
然后重新生成解決方案,接着打開程序包管理器控制台,選中.EntityFrameworkCore,輸入以下命令:
Add-Migration Init
此時你的Migrations文件夾里會新增幾個文件,接着輸入命令:
Update-Database
至此,mysql數據庫就會自動生成數據庫和響應的表。
下面說下如何新增表?
提前說明:這塊參考自:https://www.cnblogs.com/dacaba/p/9910726.html,感謝作者。
我們是基於CodeFirst開發的。所以需要先定義實體,然后再進行遷移,最終生成表結構。
實體如下:
namespace AbpDemo.Persons { public class Person : FullAuditedEntity { public string Name { get; set; } public int Sex { get; set; } } }
然后再在基礎層(EntityFrameworkCore)的類AbpDemoDbContext添加數據集Persons
public DbSet<Person> Persons { get; set; }
最后執行Add-Migration Init xxxx和Update-Database命令就可以了。其中xxxx你可以隨便命名,但最好見名知意。