当我向项目添加新迁移时,EF Core 2仍在运行初始迁移,而不是最后一次迁移

时间:2019-04-20 19:58:42

标签: c# asp.net-core entity-framework-core ef-migrations

我有一个ASP.NET Core 2项目和一个MySQL数据库,我将EF与代码优先方法结合使用。

我正在尝试向Models添加新属性,并在执行Update-Database时出错。

假设我有一个像这样的模型类Test

public class Test 
{
    public int Id { get; set }
    public string Name { get; set; }
    ...
}

我要添加一个新属性:

public string LastName { get; set; }

然后我正在运行Add-Migration AddLastNameUpdate-Database,在输出结果中看到正在应用第一次迁移Initial而不是AddLastName。所以我看到的最后一个错误是Table 'AspNetRoles' already exists

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我假设您已经删除了数据库中的迁移记录,因此,这种情况下,您将必须通过从数据库中删除它来重新构建数据库并重新运行初始迁移(仅当您刚刚创建了迁移记录时)。数据库中没有任何有用的记录)。 另一种选择是从UP和DOWN方法中删除那些您认为表已经存在于数据库中的条目,然后仅使用那些您认为未决的条目运行迁移,然后运行update-database命令。