Codice First Migrations Aggiornamento del DB errato su LocalDB
-
21-12-2019 - |
Domanda
Sto utilizzando le prime migrazioni del codice per creare e aggiornare il database per il mio sito MVC ASP.
Ho un DBContext, che è in un altro progetto nella soluzione.
public class EFDbContext : DbContext
{
public DbSet<Book> Books { get; set; }
public DbSet<Author> Authors { get; set; }
public DbSet<Publisher> Publishers { get; set; }
}
.
Quando abilitato-migrazioni e aggiunte migration [nome] . Sembra creare il proprio dB chiamato
[foo-projectname].Domain.Concrete.EFDbContext
.
Invece del collegamento al database che ho creato, chiamato [foo-projectname] . Nel WebConfig per il sito La stringa di connessione si riferisce per catalogo " [Foo-ProjectName] ".
Se modifico il WebConfig nell'altro database, quindi ottengo i risultati dagli elementi che ho aggiunto nel database. Tuttavia voglio usare il database che ho creato.
Il motivo per cui non voglio attaccare con questo Auto Creato Uno è perché non sono sicuro della migrazione a SQLServer e non voglio rimanere bloccato più in basso verso la linea. Sto anche ricevendo l'errore
.Il backing del modello Il contesto 'EFDBConText' è cambiato da ...
Anche quando non ho cambiato nulla.
Soluzione
x è il nome del progetto che contiene la classe DbContext
derivata.
- .
- Assicurati che il
Default project
suPackage Manager Console
sia x - Assicurati che il progetto Avvio attivo sulla soluzione sia x
Un'altra soluzione alternativa è, fornisce i seguenti parametri quando si esegue la sintassi della migrazione.
-ProjectName X -StartUpProjectName X
.
Alcuni parametri Descrizione:
-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.
.