Code First migrations updating the wrong Db on localdb

code-first, ef-code-first, entity-framework, entity-framework-migrations

Solution

X is the project name that contains derived `DbContext` class.

- Make sure the `Default project` on `Package Manager Console` is X

- Make sure the active start up project on the solution is X

Another workaround is, provide following parameters when running the migration syntax.

-ProjectName X -StartUpProjectName X

Some Parameters Description:

-ProjectName <String>
    Specifies the project that contains the migration configuration type to be
    used. If omitted, the default project selected in package manager console
    is used.

-StartUpProjectName <String>
    Specifies the configuration file to use for named connection strings. If
    omitted, the specified project's configuration file is used.

-ConfigurationTypeName <String>
    Specifies the migrations configuration to use. If omitted, migrations will
    attempt to locate a single migrations configuration type in the target
    project.

-ConnectionStringName <String>
    Specifies the name of a connection string to use from the application's
    configuration file.

-ConnectionString <String>
    Specifies the the connection string to use. If omitted, the context's
    default connection will be used.

Problem

I am using code first migrations to create and update the database for my asp mvc site. I have a DbContext, which is in another project in the solution. ``` public class EFDbContext : DbContext { public DbSet<Book> Books { get; set; } public DbSet<Author> Authors { get; set; } public DbSet<Publisher> Publishers { get; set; } } ``` When i enable-migrations and add-migration [name]. It seems to create its own db called ``` [foo-projectname].Domain.Concrete.EFDbContext ``` Instead of the attaching to the database i created, called [foo-projectname]. In the webconfig for the site the connection string is referencing by catalog "[foo-projectname]". If i change the webconfig to the other database , then i get results back from items i have added into the that database. However i want to use the database that i created. The reason i do not want to stick with this auto created one is because i am not sure on the migration to SqlServer and do not want to get stuck further down the line. I am also getting the error The model backing the 'EFDbContext' context has changed since... even when i have not changed anything.

Original source