移行手順を実行しようとすると、次のエラーが発生しupdate-database
ます (パッケージ マネージャー コンソール ウィンドウを開き、「update-database」コマンドを入力します)。
System.Data.Entity.Validation.DbEntityValidationException: 1 つ以上のエンティティの検証に失敗しました。詳細については、「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; }
}
新しいフィールドの add migration クラスには、この 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");
}
2 つのフィールドを削除してデータベースを更新すると、シード メソッドが正常に実行されます
助言がありますか?
ありがとうございました。