Search code examples
asp.net-core-mvcentity-framework-core

Update ContextModelSnapshot EF Core


I'm newer to EF Core, so please forgive me if there is a trivial answer.

Take this scenario....

A new web-application is being developed using the latest version of ASP.NET Core, with a code-first approach. At some point, the ContextModelSnapshot became out of sync with the database, due to deletions or source control. We cannot delete the database and recreate it.

Question: How can the snapshot be 're-synced' with the database?


Solution

  • You can execute the command

    Add-migration temporary

    to create a new empty migration. Then, run

    Remove-Migration temporary (or their dotnet-cli counterparts)

    In recent editions of EF Core (3+), just use:

    Remove-Migration (will revert the last migration)

    It will create model snapshot from scratch even if the migration has already been deleted. This approach works perfectly for Ef core 2.2.0-rtm-35687