ABP Vnext使用mysql數據庫


 

ABP Vnext支持Sqlserver、Mysql、PostgreSql等數據庫,通過CLI模板建立的項目默認使用SqlServer,需要進行一定變更才支持其他數據庫,下面以使用Mysql舉例

1. 使用CLI建立一個帶UI的MVC項目

abp new Acme.BookStoreUi --template app --database-provider ef --ui mvc --mobile none

建立后項目如下

 

2. 使用Nuget安裝支持Mysql的包並對代碼進行修改

  • 在EntityFrameworkCore項目里移除Volo.Abp.EntityFrameworkCore.SqlServer包
  • 在EntityFrameworkCore項目里新增Volo.Abp.EntityFrameworkCore.Mysql包
  • 修復因移除SqlServer包而報錯的代碼,把SqlServer改為Mysql

  如下

using Volo.Abp.EntityFrameworkCore.SqlServer

using Volo.Abp.EntityFrameworkCore.MySQL;


typeof(AbpEntityFrameworkCoreSqlServerModule)

typeof(AbpEntityFrameworkCoreMySQLModule)


options.UseSqlServer();

options.UseMySQL();

3. 修改Acme.BookStoreUi.DbMigrations項目下appsetting.json文件中的ConnectionStrings,修改為mysql數據庫連接字符串,並復制進Acme.BookStoreUi.EntityFrameworkCore.DbMigrations項目。

4. 重建DbMigrations

首先,刪掉Acme.BookStoreUi.EntityFrameworkCore.DbMigrations下原有的Migrations文件夾,重建Migrations,我使用EF CLI方式重建

終端進入Acme.BookStoreUi.EntityFrameworkCore.DbMigrations,新建Migrations

dotnet ef migrations add initialDB

更新至數據庫

dotnet ef database update initialDB

運行Acme.BookStoreUi.DbMigrations項目初始化數據。

5.Acme.BookStoreUi.Web項目同樣修改appsetting.json文件中的ConnectionStrings,運行即可

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM