无法将另一个表(迁移)添加到项目ASP.NET中

问题描述 投票:0回答:1

我的项目应该有2个表:彼此之间具有一对多关系的文章和类别(文章只能有一个类别,但是类别可以由许多文章拥有)。我尝试首先添加表Articles(类别只是一个字符串字段),并成功通过(表已创建)。然后我添加Category类,并将一些字段添加到Article类中。现在我有这样的东西:

public class Article
  {  

    public int Id {get; set; }        
    public string Name { get; set; }
    public string ShortDescription { get; set; }
    public string Description { get; set; }
    public byte[] HeroImage { get; set; }        
    public DateTime Date { get; set; }

    public int? CategoryId { get; set; }
    public Category Category { get; set; }
}

public class Category
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection<Article> Articles { get; set; }

    public Category()
    {
        Articles = new List<Article>();
    }
} 

在您全部更改之后,我更改了上下文:

public class ApplicationDbContext : IdentityDbContext
{

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
    public DbSet<Article> Articles { get; set; }
    public DbSet<Category> Categories { get; set; }

}

然后,我尝试添加迁移(添加迁移类别->更新数据库),该迁移没有任何错误但没有任何更改!尚未创建表类别,甚至表文章也未更改。请任何帮助。

asp.net asp.net-mvc database database-migration
1个回答
0
投票
  1. 删除上一次迁移
dotnet ef migrations remove --force
  1. 再次创建迁移
dotnet ef migrations add <Name>
  1. 检查迁移中的“向上”方法是否具有用于创建表和更改“文章”表的字段名称的代码。
  2. 更新数据库
dotnet ef database update
© www.soinside.com 2019 - 2024. All rights reserved.