Sono abbastanza confuso con una situazione qui. Devo connettermi a due database separati, uno è un database SQL Server e l'altro è un database MySQL.
Ho le stringhe di connessione nel file web.config
. Sono in grado di connettermi ai server e accedere ai dati.
Ma, ho bisogno di eseguire la migrazione delle entità su entrambi i server contemporaneamente. O uno per uno, che non credo sia possibile.
Ecco il mio contesto di database:
// Database 1
public class DatabaseContext : DbContext
{
public DatabaseContext() : base("name=OldDBContext"){ }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { }
public static DatabaseContext Create()
{
return new DatabaseContext();
}
public DbSet<User> UserModel { get; set; }
}
// Database 2
public class NewDatabaseContext : DbContext
{
public NewDatabaseContext() : base("name=NewDBContext") { }
protected override void OnModelCreating(DbModelBuilder modelBuilder) { }
public static NewDatabaseContext Create()
{
return new NewDatabaseContext();
}
public DbSet<UserData> UserDataModel { get; set; }
}
Inizialmente avevo solo un database e usavo add-migration MigrationName
nella console del gestore pacchetti e creava una migrazione con le modifiche nel database.
Ma ora, quando ho due database separati, le migrazioni non contengono alcuna modifica nel secondo database o quella che ho aggiunto in seguito.
Per favore aiuto. Qualsiasi aiuto è molto apprezzato.
Grazie
Prova ad abilitare le migrazioni per il secondo contesto, usa il parametro ContextTypeName
Enable-Migrations -EnableAutomaticMigrations -ContextTypeName
NamespaceOfContext.NewDatabaseContext
Creerà la configurazione separata. Se i conflitti di denominazione si sono verificati, rinominare il file di configurazione nella cartella Migrations, quindi è possibile eseguire l'aggiornamento del database per la configurazione specifica
Update-Database -ConfigurationTypeName ConfigurationName