当我在迁移步骤中尝试update-database
(打开Package Manager Console窗口并输入“update-database”命令)时,出现以下错误使用实体框架更新数据库迁移时,一个或多个实体的验证失败
System.Data.Entity.Validation.DbEntityValidationException:验证 对一个或多个实体失败。有关更多详细信息,请参阅“EntityValidationErrors”属性 。
我在Movie
类
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; }
}
和附加迁移类的新领域增加新的字段包含此上下方法
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");
}
当我删除这两个领域并更新数据库种子方法成功运行
任何s uggestions?
谢谢。
如果你使用**实体框架**,你可以看看我的答案[解决方案:“验证失败的一个或多个实体。有关更多详细信息,请参阅'EntityValidationErrors'属性](http://stackoverflow.com/questions/21486072/solution-for-validation-failed-for-one-or-more-entities-see-entityvalidatione/29031857#29031857)。希望这有助于... –