How to Implement Zero-Downtime Database Migrations in ASP.NET Core 10 Using EF Core and SQL Server (2026)
A migration can succeed against an empty database and block a busy table in production. A rolling deployment also has old and new application versions using the same schema. Use expand and contract with EF Core and SQL Server: add a compatible schema first, deploy compatible writes, backfill in small transactions, change readers, and remove obsolete fields only after the rollback window closes.