The Situation:
You have been using Entity Framework code-first migrations with an existing database. Making changes to an existing table, such as adding a new field, go smoothly, and the database is updated correctly when you run an “Update-database” command. However, when you create an entirely new entity in your model and run “Update-database”, the new table doesn’t get added to your database. You get the “No pending code-based migrations” message.
A Solution:
I spent some time today researching this on StackOverflow and other forums and came up with no solution. It wasn’t until I started to think through the details of the process that EF migrations goes through that I found the answer.
EF migrations use a Configuration.cs file, which specifies an EF dbContext to use in communicating with the database. The context file lists all the entities that it manages. Therefore, you must add the new entity to the context file!
Once you add it to the context, EF migrations can “see” it and add it to the database.