- SDK : .NET 7.0(或以上)。
- 連線字串設定 : 修改
appsettings.json
或者使用使用者密碼(sectets.json)
(參考資料:在 ASP.NET Core 中開發中安全儲存應用程式密碼)。 - 遷移(更新)資料庫 :
- 使用.Net Core CLI :
dotnet ef database update --project ./DemoShop.Infrastructure/ --startup-project ./DemoShop.Web/
。 - 使用Visual Studio PMC(預設專案為DemoShop.Infrastructure) :
Update-Database
。
- 使用.Net Core CLI :
以下兩種方式建議第一次建立Entity及DbContext時可以使用Scaffold方式還原;遷移資料庫時再使用Migration的方式更新到其他環境的資料庫。
- 修改Entity Model。
- 新增Migration異動紀錄 : 指令
dotnet ef migrations add <Migration name> --project ./DemoShop.Infrastructure/ --startup-project ./DemoShop.Web/ --output-dir ./Data/Migrations
。 - 遷移(更新)資料庫 :
dotnet ef database update --project ./DemoShop.Infrastructure/ --startup-project ./DemoShop.Web/
。
- 修改資料庫Schema。
- Scaffolding資料庫 :
dotnet ef dbcontext scaffold "Name=ConnectionStrings:BSDemoShopConnection" Microsoft.EntityFrameworkCore.SqlServer --output-dir ../DemoShop.ApplicationCore/Entities --context-dir ../DemoShop.Infrastructure/Data --namespace DemoShop.ApplicationCore.Entities --context BSDemoShopContext --context-namespace DemoShop.Infrastructure.Data --startup-project ./DemoShop.Web --data-annotations --force
。 - 修改
IRepository<T>
及EfRepository<T>
的泛型約束 : 將BaseEntity
修改為class
(沒修改的話會無法建置)。