ASP.NETMVC5在更改类数据批注时会出现异常错误吗?

ASP.NETMVC5在更改类数据批注时会出现异常错误吗?,asp.net,sql-server-2012,asp.net-mvc-5,Asp.net,Sql Server 2012,Asp.net Mvc 5,我创建了一个模型类Employee public class Employee { public int ID { get; set; } [DisplayName("Employee Name")] [Required(ErrorMessage = "Employee Name Is Required") ] public string Name { get; set; } public int Email { get; set; } publ

我创建了一个模型类Employee

public class Employee
{

    public int ID { get; set; }
    [DisplayName("Employee Name")]
    [Required(ErrorMessage = "Employee Name Is Required") ]
    public string Name { get; set; }
    public int Email { get; set; }
    public double Salary { get; set; }
    public int Address { get; set; }

}
当我运行应用程序时,它工作正常,之后当我看到字段地址为Int时,我 将其更改为字符串或:

public class Employee
{

    public int ID { get; set; }
    [DisplayName("Employee Name")]
    [Required(ErrorMessage = "Employee Name Is Required") ]
    public string Name { get; set; }
    public string Email { get; set; }
    public double Salary { get; set; }
    public string Address { get; set; }

}
运行应用程序时,会出现以下错误:

An exception of type 'System.InvalidOperationException' occurred in ProductApps.dll but was not  handled in user code

Additional information: The model backing the 'ProductContext' context has changed since the  database was created. Consider using Code First Migrations to update the database    (http://go.microsoft.com/fwlink/?LinkId=238269).

出现此异常的原因是,通过更改实体中的属性类型,实体框架需要更新数据库以反映您的更改

在本例中,需要将Employee表中的电子邮件列更新为int类型而不是string类型。为了强制EntityFramework执行此操作,您需要运行必要的控制台命令

要运行控制台命令,请转到工具>Nuget Package Manager>Package Manager控制台并运行以下命令:

添加迁移UpdatedEmailType,然后添加更新数据库。如果您遇到一个错误,说没有启用迁移,那么您需要运行以下命令来启用数据库迁移:enable migrations

注:
虽然数据库迁移对创建数据库模式有很大帮助,但有时这可能是一项艰巨的工作。如果您仍然遇到问题,则始终可以禁用迁移并在SQL Server Management Studio或Visual Studio的数据库管理器工具中手动更新数据库。

您必须更新数据库。在PackageManager控制台中:更新数据库您必须首先启用迁移我是新手,请您解释一下如何查看我发布的链接。1工具–>库包管理器–>包管理器控制台2如果未启用迁移=>在同一控制台中的包管理器控制台3更新数据库-v中运行启用迁移命令