我有一些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”命令时,出现错误:
数据库中已经有一个名为“武器”的对象。
未创建此数据库。为什么会出现此错误?请向我解释如何配置数据库模型。