1. 環境
編譯器 vs2019
運行時 dotnet core 2.2
數據庫 Mysql 5.8
2. 開發准備
使用abp 官方提供的 CLI工具 創建時因為網絡原因會連接失敗,幸好abp中文網有對應的國內CLI工具,在此感謝~
安裝 CLI
dotnet tool install -g Cn.Abp.Cli
如果之前安裝過,更新可以使用:
dotnet tool update -g Cn.Abp.Cli
3. 創建項目
根據官方示例,創建一個Acme.BookStore項目
cnabp new Acme.BookStore
VS打開項目后,安裝包會自動還原,默認數據庫是sqlserver,這時候不要運行,因為我們是要使用mysql數據庫的。
創建一個mysql空數據庫,數據庫名自定。
在Acme.BookStore.Web 項目中的appsettings.json 里面,修改配置字符串為mysql
"ConnectionStrings": { "Default": "Server=localhost;Database=BookStore;Uid=root;Pwd=psd" }
4. 倉儲切換Mysql
更換Acme.BookStore.EntityFrameworkCore.DbMigrations 項目中的Nuget包。
在Nuget中搜索安裝
Volo.Abp.EntityFrameworkCore.MySQL
同時卸載掉默認的
Volo.Abp.EntityFrameworkCore.SqlServer
編譯項目,修改出錯的地方,將sqlserver相關的內容更換為mysql。可以編譯通過后,設置Acme.BookStore.EntityFrameworkCore.DbMigrations 項目為啟動項目,將Acme.BookStore.Web 項目中的
appsettings.json加入到項目的應用中(遷移DB的時候會需要使用)
5. 生成數據庫
運行命令
Update-Database
提示錯誤:
Your startup project 'Acme.BookStore.EntityFrameworkCore.DbMigrations' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.
安裝對應的Nuget包:
Microsoft.EntityFrameworkCore.Design
再次執行命令
Update-Database
還原成功,運行Web項目,成功運行起來了。
參考連接:
https://github.com/cnAbp/abp-cli
https://cn.abp.io/documents/abp/latest/Getting-Started-AspNetCore-MVC-Template