當我在遷移步驟中嘗試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)。希望這有助於... –