EF Core Migrations: Why Bundles Beat Startup MigrateAsync()
This guide explains why running MigrateAsync() at application startup couples deployments to schema changes and grants the app more database permissions than it needs. It walks through EF migration bundles as a controlled CI deployment step, with GitHub Actions and local examples. It also covers when runtime migrations are acceptable and the practical limits of bundles, such as the lack of a dry run.