gpt4 book ai didi

c# - 如何在 Entity Framework Code First 中删除一个表?

转载 作者:太空狗 更新时间:2023-10-29 20:30:50 28 4
gpt4 key购买 nike

我正在使用 Entity Framework 和自动迁移。

因此,当我向 Context 添加新模型时,我的数据库会更新并创建新表。

我想做的恰恰相反,从数据库中完全删除表。但是,从 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 中删除表并尽可能使用自动迁移的正确方法是什么?

最佳答案

add-migrations 命令创建一个 Migrations 文件夹。您可以看到包含两种方法的 [DateStamp]_InitialCreate.cs 文件;上和下。 InitialCreate 类的 Up 方法创建与数据模型实体集对应的数据库表,而 Down 方法删除它们。通常,当您输入回滚数据库的命令时,会调用 Down 方法。您可以在 Down 方法中看到 DropIndex、DropForeignKey、DropTable 语句。

如果 Emre 提出问题,在 [DateStamp]_InitialCreate.cs 类的 Down 方法中写入 DropTable 语句,表将被删除。

希望对您有所帮助。

关于c# - 如何在 Entity Framework Code First 中删除一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19472356/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com