Come aggiungere una tabella (modificare il modello di dati) nel contesto EF4 senza perdere i dati
-
06-11-2019 - |
Domanda
Ho un progetto MVC3 che ho creato utilizzando il Codice First Paradigm e funziona. Ho creato un modello ereditando da DBContext e posso scrivere sul tavolo e tutto il resto. Devo aggiungere una nuova tabella e cambiare il mio modello e io uso DropCreateDatabaseIfModelChanges<T>
Ma perdo tutti i miei dati, a causa di EF4 eliminerà il nuovo DB.
public class MyDbInitializer : DropCreateDatabaseIfModelChanges< MyDb >
Posso usare interfaccia diversa come UpdateDatabaseIfModelChanges<T>
Se esiste?
Il mio modello sembra questo:
[Table("Person")]
public class Person
{
public int ID { get; set; }
public string name { get; set; }
public string country { get; set; }
public string gender { get; set; }
}
public class MyDb: DbContext
{
public DbSet<Person> People { get; set; }
}
Quindi chiamo:
Database.SetInitializer(new MyDbInitializer ());
public class MyDbInitializer : DropCreateDatabaseIfModelChanges< MyDb >
{
protected override void Seed(MyDb context)
E questo voglio creare:
[Table("Person")]
public class Person
{
public int ID { get; set; }
public string name { get; set; }
public string country { get; set; }
public string gender { get; set; }
}
[Table("NewTable")]
public class NewTable
{
public int ID { get; set; }
public string name { get; set; }
public string position { get; set; }
public string description { get; set; }
}
public class MyDb: DbContext
{
public DbSet<Person> People { get; set; }
public DbSet< NewTable > NewTable { get; set; }
}
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow