我正在使用實體框架與自動遷移。如何首先在實體框架代碼中刪除表?
所以,當我添加一個新的模型到我的上下文時,我的數據庫被更新並且新的表被創建。
我想做的是相反的,完全從數據庫中刪除表。但是,從Context類中刪除定義不起作用。
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);
}
}
例如,我想從數據庫中刪除Company
表。爲此,我從CompanyContext
類刪除Companies
屬性。但是,它不起作用。
如果可能,在EF中刪除表並使用自動遷移的正確方法是什麼?
據我所知,DropCreateDatabaseAlways刪除整個數據庫並重新創建它。結果你失去了數據。我想要做的只是放棄單個表。 –
那麼你爲什麼不更新你的模型並運行上面提到的包管理器控制檯命令? – CodeMad
我做到了。我從DbContext類中刪除了模型類,並且我也刪除了模型文件本身。我認爲自動遷移應該處理剩下的事情。不是這樣。 –