Sto utilizzando Entity Framework con Migrazioni automatiche.Come eliminare una tabella in Entity Framework Code Prima?
Così, quando aggiungo un nuovo modello al mio contesto, il mio database viene aggiornato e viene creata una nuova tabella.
Quello che voglio fare è il contrario, rilasciare completamente la tabella dal database. Tuttavia, la rimozione della definizione dalla classe Context non funziona.
public class CompanyContext : DbContext
{
public DbSet<Permission> Permissions { get; set; }
public DbSet<Company> Companies { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
Ad esempio, desidero rimuovere la tabella Company
dal database. Per fare ciò, rimuovo la proprietà Companies
dalla classe CompanyContext
. Tuttavia, non funziona.
Qual è il modo corretto di rilasciare tabelle in EF e utilizzare le migrazioni automatiche, se possibile?
Per quanto ne so, DropCreateDatabaseAlways rilascia l'intero database e lo ricrea. Di conseguenza hai perso i dati. Quello che voglio fare è lasciare solo il tavolo singolo. –
Allora perché non aggiorni il tuo Modello ed esegui il comando della console del gestore pacchetti menzionato sopra? – CodeMad
L'ho fatto. Ho rimosso le classi del modello dalla classe DbContext e ho anche eliminato il file del modello stesso. Pensavo che le migrazioni automatiche avrebbero dovuto gestire il resto. Non è. –