Asp.net mvc 使用实体框架更新数据库迁移时,一个或多个实体的验证失败

Asp.net mvc 使用实体框架更新数据库迁移时,一个或多个实体的验证失败,asp.net-mvc,entity-framework,entity-framework-4,ef-code-first,Asp.net Mvc,Entity Framework,Entity Framework 4,Ef Code First,在迁移步骤中尝试更新数据库时,出现以下错误(打开PackageManager控制台窗口并输入“更新数据库”命令) System.Data.Entity.Validation.DbEntityValidationException:验证 一个或多个实体失败。请参阅“EntityValidationErrors”属性 更多细节 我在电影类中添加了新字段 public class Movie { public int ID { get; set; } [Required

在迁移步骤中尝试更新数据库时,出现以下错误(打开PackageManager控制台窗口并输入“更新数据库”命令)

System.Data.Entity.Validation.DbEntityValidationException:验证 一个或多个实体失败。请参阅“EntityValidationErrors”属性 更多细节

我在
电影
类中添加了新字段

public class Movie
{
        public int ID { get; set; }
        [Required]
        [DisplayName("Name")]
        public string MovieName { get; set; }
        [Required]
        [DisplayName("Type")]
        public string MovieType { get; set; }
        [DisplayName("Year")]
        public int MovieProductionYear { get; set; }
        [Range(1, 5)]
        [DisplayName("Priority")]
        public int priority { get; set; }
        [DisplayName("NoOfWatches")]
        public int NumberOfWatches { get; set; }
        [DisplayName("isWatched")]
        public bool isWatched { get; set; }
        [Range(1, 10)]
        [DisplayName("IMDB")]
        public int IMDBRating { get; set; }
        [DisplayName("Available")]
        public bool Availability { get; set; }
        [StringLength(50)]
        [DisplayName("Comments")]
        public string Comments { get; set; }
        [DisplayName("Actor")]
        public string Actor { get; set; }
        [DataType(DataType.Date)]
        public DateTime ReleasedDate { get; set; }
    }
新字段的addmigration类包含这个up和down方法

public override void Up()
{
    AddColumn("dbo.Movies", "NumberOfWatches", c => c.Int(nullable: false));
    AddColumn("dbo.Movies", "ReleasedDate", c => c.DateTime(nullable: false));
}

public override void Down()
{
    DropColumn("dbo.Movies", "ReleasedDate");
    DropColumn("dbo.Movies", "NumberOfWatches");
}
当我删除这两个字段并更新数据库时,seed方法将成功运行

有什么建议吗


谢谢。

种子方法是否包含NumberofWatches的零值?这是一个不可为null的int,您需要在种子处提供一个零(或其他整数值)。
同样,ReleaseDate在每个电影种子对象上都需要一个日期值,因为它也是不可为空的。

是否要添加可为空的值?即一个可为null的int和一个可为null的DateTime?添加标准的不可为null的值仍然会导致抛出错误。如果您使用实体框架,您可以在上查看我的答案。希望这有助于。。。