运行 update-database 命令时,出现错误:
数据库中已经有一个名为“武器”的对象。
有几种 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 Init”正常执行,没有错误。但是在运行 update-database 命令时,出现错误:
数据库中已经有一个名为“武器”的对象。
为什么会发生此错误?需要完成/删除/添加哪些数据库设置才能使代码正常工作?
