【问题标题】:ASP.Net MVC 5 when changing the class data annotations it gives exception error?ASP.Net MVC 5 更改类数据注释时会出现异常错误?
【发布时间】:2014-11-25 11:14:00
【问题描述】:

我创建了一个模型类 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).

【问题讨论】:

  • 您必须更新数据库。 msdn.microsoft.com/en-us/data/jj591621.aspx 在包管理器控制台中:更新数据库(您必须先启用迁移)
  • 我是新人,请您解释一下如何
  • 查看我发布的链接。 1) 工具 -> 库包管理器 -> 包管理器控制台 2) 如果未启用迁移 => 在包管理器控制台中运行“Enable-Migrations”命令 3) 在同一控制台中“更新数据库 -v”

标签: asp.net sql-server-2012 asp.net-mvc-5


【解决方案1】:

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

在这种情况下,它需要将Employee 表中的Email 列更新为int 类型,而不是string。为了强制 Entity Framework 执行此操作,您需要运行必要的控制台命令。

要运行控制台命令,请转到工具 > Nuget 包管理器 > 包管理器控制台并运行以下命令:

Add-Migration UpdatedEmailType 后跟Update-Database。如果您遇到错误提示未启用迁移,则需要运行以下命令来启用数据库迁移:Enable-Migrations

注意: 虽然数据库迁移对创建数据库模式有很大帮助,但有时它可能会很辛苦。如果您仍然遇到问题,则可以随时禁用迁移并在 SQL Server Management Studio 或 Visual Studio 的数据库管理器工具中手动更新数据库。

【讨论】:

    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2016-11-01
    • 2014-12-21
    相关资源
    最近更新 更多