1

我有一个带有 Admin 对象的 Blog 对象。我最初的设置错误,它错误地创建了我的列。我手动删除了“Admin_Id”外键字段和关系。现在,当我再次运行迁移时,它不会添加外键和关系。

我可以强制实体框架以某种方式再次更新数据库吗?

我的对象:

行政

public class Admin: WebPage, IWebPage
{
    public string Name { get; set; }
    public string Email { get; set; }
    public string About { get; set; }
    public string Image { get; set; }

    public List<Blog> Blogs { get; set; }
}

博客

public class Blog : WebPage, IWebPage
{
    public string Title { get; set; }
    public string Summary { get; set; }
    public string ArticleBody { get; set; }
    public string Author { get; set; }
    public DateTime PostingDate { get; set; }

    public virtual Admin Admin { get; set; }
    public virtual BlogCategory BlogCategory { get; set; }
    public virtual List<Comment> Comments { get; set; }
}
4

1 回答 1

0

实体框架将已应用于数据库的迁移存储在__MigrationHistory表中。如果您删除此表中表示特定迁移的行(该MigrationId列包含迁移类的名称),则该迁移将在您下次执行update-database.

也就是说,这将导致重新应用整个迁移,而不仅仅是数据库中恰好丢失的部分,包括所有表创建、删除等,所以如果你没有,请小心使用它t 之前手动取消了迁移已经进行的更改,因为如果数据库对象已经存在,其中一些操作可能并且将会导致错误。

于 2013-01-14T13:46:01.830 回答