У меня есть несколько моделей 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 -igration, все в порядке. Но когда я запускаю команду «update-database», я получаю сообщение об ошибке:
В базе данных уже есть объект с именем «Оружие».
Эта БД не была создана. Почему я получаю эту ошибку? Пожалуйста, объясните мне, как модели БД должны быть настроены.