2021年2月24日 星期三

ASP.NET Boilerplate setup for mysql

 1.官網下載模版(ASP.NET Core v3.x)


2.以visual studio 2019開啟方案


3.先在 .EntityFrameworkCore 專案中安裝 Pomelo.EntityFrameworkCore.MySql


4.修改 .EntityFrameworkCore 專案下 EntityFrameworkCore/demoDbContextConfigurer,全部都改成UseMySql。


5.因為透過範本下載的initial檔都是for mssql,但我想要用mysql作為abp的資料庫,所以無法直接拿來使用。因此就必須重新產生for mysql的initial檔,在產生前必須先刪除 .EntityFrameworkCore 專案下 Migrations 目錄中所有的檔案。


6.修改相關的MySQL的連線資訊(appsettings.json): .Migrator專案及.MVC專案


7.終於要來產生mysql的initial檔了。先將 .EntityFrameworkCore 專案設定為【起始專案】,開啟『套件管理管理器主控台』(windows 環境才有),並將主控台中的預設專案設成 .EntityFrameworkCore,再輸入 Add-Migration "AbpZero_Initial"。

執行成功後會發現 Migrations目錄中產生 for Mysql 的 initial 檔,檢查一下檔案中Annotaion也是都MySql的了。


8.接著要來產生mysql db了,將 .Migrator 專案設定為【起始專案】,按下執行偵錯。

系統會開啟 console app,當看到下列訊息表示 mysql db 已順利建置成功了。

可以透過mysql workbench查看db是否已正常建立

9.終於到了開啟web站台的時候了,將.MVC專案設為起始專案,並執行偵錯


網站也順利建置成功,可是畫面看起來怎麼會怪怪的?


原來是缺少了前端套件,解法詳官網說明,找到.MVC專案中的libman.json,在這個檔案按下滑鼠右鍵,選擇『還原用戶端程式庫』。

待還原作業執行完成後,再開啟一次站台,終於看到正常的abp登入畫面了,趕快輸入預設的帳號(admin)及密碼(123qwe)。


ABP網站終於建置完成了!!