我无法使用dbcontext和迁移更改现有数据库中的表名

时间:2014-09-08 17:01:01

标签: asp.net-mvc compiler-errors migration database-migration dbcontext

我正在尝试更改tabel名称,我有一个数据库和一个名为BarMenu的表。 BarMenu有数据。我怎么能这样做我尝试了迁移AutoCreating模型构建器。以下是一些鳕鱼的例子。 Ty帮助。

public class GxptBulutEntities : DbContext
{
    public DbSet<BarMenu> BarMenuler { get; set; }
    public GxptBulutEntities()
        : base("GxptBulutEntities")
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<GxptBulutEntities, Configuration>());
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<BarMenu>().ToTable("BarMenuler");
        base.OnModelCreating(modelBuilder);
    }
}


internal sealed class Configuration : DbMigrationsConfiguration<GxptBulutEntities>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = true;
    }

    protected override void Seed(GxptBulutEntities context)
    {
        base.Seed(context);
    }
}

1 个答案:

答案 0 :(得分:1)

如果您有现有表,则无法使用迁移,因此必须关闭上下文中的数据库初始化:

public GxptBulutEntities()
    : base("GxptBulutEntities")
{
    Database.SetInitializer<GxptBulutEntities>(null);
}