打開https://cn.abp.io/Templates
,任意選擇一個項目類型,而後建立項目,我這裏建立了一個Web Apimysql
解壓項目,還原Nuget,項目目錄以下:git
首先咱們來查看下整個項目關於數據庫方面的引用:github
從圖中咱們能夠看到IdentityServerHost
和MKM.BookStore.Host
這兩個站點有引用,IdentityServerHost
是用戶中心API,和MKM.BookStore.Host
是咱們的業務中心API,這裏咱們以MKM.BookStore.Host
的處理爲例來說解下如何把原有的SqlServer替換爲Mysql。sql
一、在以MKM.BookStore.Host
添加Volo.Abp.EntityFrameworkCore.MySQL
的引用數據庫
二、修改數據庫Default
的鏈接字符串爲Mysql的數據庫鏈接字符串緩存
//SqlServer
//"Default" "Server=localhost;Database=BookStoreHost;Trusted_Connection=True;MultipleActiveResultSets=true",
//Mysql
"Default": "SERVER=192.168.2.15; PORT=3306; DATABASE=BookStoreHost; USER=root; PASSWORD=123456;",
// 緩存數據庫
"SqlServerCache": "Server=localhost;Database=BookStoreCache;Trusted_Connection=True;MultipleActiveResultSets=true"
複製代碼
三、DemoAppModule.cs
bash
3.1 、替換引用ui
添加Volo.Abp.EntityFrameworkCore.MySQL
的引用spa
註釋Volo.Abp.EntityFrameworkCore.SqlServer
的引用3d
3.二、替換Module
typeof(AbpEntityFrameworkCoreSqlServerModule)
替換爲typeof(AbpEntityFrameworkCoreMySQLModule)
[DependsOn(
typeof(AbpAutofacModule),
typeof(BookStoreApplicationModule),
typeof(BookStoreEntityFrameworkCoreModule),
typeof(BookStoreHttpApiModule),
typeof(AbpPermissionManagementEntityFrameworkCoreModule),
typeof(AbpSettingManagementEntityFrameworkCoreModule),
typeof(AbpAuditLoggingEntityFrameworkCoreModule),
//typeof(AbpEntityFrameworkCoreSqlServerModule)
typeof(AbpEntityFrameworkCoreMySQLModule)
)]
複製代碼
3.三、 UseSqlServer
改成UseMySQL
Configure<AbpDbContextOptions>(options =>
{
//options.UseSqlServer();
options.UseMySQL();
});
複製代碼
四、DemoAppDbContextFactory.cs
public DemoAppDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
//var builder = new DbContextOptionsBuilder<DemoAppDbContext>()
// .UseSqlServer(configuration.GetConnectionString("Default"));
var builder = new DbContextOptionsBuilder<DemoAppDbContext>()
.UseMySQL(configuration.GetConnectionString("Default"));
return new DemoAppDbContext(builder.Options);
}
複製代碼
五、遷移&&生成
5.一、刪除默認遷移文件
刪除Migrations
目錄以及文件,由於默認的是SqlServer的,咱們這裏是須要生產Mysql的。
5.二、 生成新的遷移文件
MKM.BookStore.Host
設置爲啓動項目,打開程序包管理控制檯而且默認項目選擇爲MKM.BookStore.Host
執行遷移命令 PM> add-migration mysql_init
5.三、更新數據庫
PM> update-database -verbose
github地址: github.com/Jesn/MKM.Bo…