运行“ update-database”命令时出错:数据库中已经有一个名为“ ...”的对象

时间:2018-11-19 16:57:42

标签: c# asp.net entity-framework ef-core-2.1

我有一些EF Core模型:

abstract class Weapon {
   public int    Id   { get; set; }
   public string Name { get; set; }
}

class Axe : Weapon {
}

class Sword : Weapon {
}

class GameDbContext : DbContext {
    public DbSet<Weapon>   Weapons   { get; set; }

    public GameDbContext(DbContextOptions options) : base(options){
        this.Database.EnsureCreated();
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder) {
         base.OnModelCreating(modelBuilder);

         this.SetModelsConfigurations(modelBuilder);

         modelBuilder.Entity<Axe>  ().HasBaseType<Weapon>();
         modelBuilder.Entity<Sword>().HasBaseType<Weapon>();
    }
}

当我运行“ add-migration”命令时,一切正常。但是当我运行“ update-database”命令时,出现错误:

  

数据库中已经有一个名为“武器”的对象。

未创建此数据库。为什么会出现此错误?请向我解释如何配置数据库模型。

0 个答案:

没有答案