Получение ошибки во время выполнения команды «update-database»: в базе данных уже есть объект с именем «...» - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть несколько моделей 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», я получаю сообщение об ошибке:

В базе данных уже есть объект с именем «Оружие».

Эта БД не была создана. Почему я получаю эту ошибку? Пожалуйста, объясните мне, как модели БД должны быть настроены.

...