Inizialmente ho utilizzato il codice EF 6 per creare un nuovo database e due nuove tabelle. Il codice è:Come aggiungere una nuova tabella al codice del database esistente prima
public class TestingContext : DbContext, IDisposable
{
public DbSet<CallDataRecord> CallDataRecords { get; set; }
public DbSet<Attempt> Attempts { get; set; }
public TestingContext()
: base("Testing")
{
Database.SetInitializer<TestingContext>(new MigrateDatabaseToLatestVersion<TestingContext, GenericIVR.Migrations.Configuration>());
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Attempt>().HasRequired(t => t.CallDataRecord).WithMany(a => a.Attempts).HasForeignKey(t => t.FKTaskId);
modelBuilder.Entity<Attempt>().Property(x => x.AttemptId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity).IsRequired();
modelBuilder.Entity<CallDataRecord>().Property(x => x.TaskId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity).IsRequired();
}
}
Ora la mia strategia è cambiata, non voglio un nuovo DB. Voglio aggiungere le nuove tabelle a un DB esistente, ad esempio DevDB
.
Come modificare il codice? Devo usare Reverse Engineering Code First?
aggiornamento: La stringa di connessione è:
<connectionStrings>
<add name="Testing" connectionString="Data Source=dddd.corporate.xxxx.com; Initial Catalog=Testing; User ID=sa; Password=password; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
Per chiunque tenti di modificare questo post per includere il passaggio Add-Migration prima del comando Update-Database, si noti che ho risposto a questa presunta che le migrazioni automatiche siano abilitate, quindi perché non sto provando a impalcare manualmente questa modifica. Scorri verso il basso fino a "La tua prima migrazione automatica" http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx – JsonStatham