c# - 运行“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>();
}
}
当我运行“添加迁移”命令时,一切正常。但是当我运行“update-database”命令时,我得到一个错误:
数据库中已经有一个名为“武器”的对象。
未创建此数据库。为什么我会收到此错误?请向我解释如何配置数据库模型。
解决方案
推荐阅读
- php - 如何在单元格 PHP FPDF 中推送图像?
- java - JavaFx:在linux下创建jar并在windows 10下运行
- react-native - 在轮播视图中离开屏幕时出现平面列表参考错误
- python - 如何将 csv 文件读入存储在 jupyter 实验室本地存储中的 pandas 数据帧
- javascript - 比较两个数组并验证主数组是否有子数组值
- c# - 在启动时更改应用程序的名称
- ssms - SQL Server Management Studio:远程连接问题
- javascript - 如何在 rechart 中对 Sankey 图表的节点进行排序?
- python - 我可以找到 pip 安装包的 URL
- python - mongoDB - 从数组中的文档中获取最新日期