ASP.NET MVC 응용 프로그램[Required]
에서 내 모델 중 하나에 데이터 주석을 추가했습니다 . 마이그레이션을 만든 후 명령을 실행 하면 다음 오류가 발생합니다.Update-Database
'Director'열, 'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'테이블에 NULL 값을 삽입 할 수 없습니다. 열은 널을 허용하지 않습니다. UPDATE가 실패합니다. 그 진술서는 만료되었습니다.
이는 Director
열에 NULL이있는 일부 레코드 때문 입니다. 이러한 값을 일부 기본 (예 : "John Doe") 디렉터로 자동으로 변경하려면 어떻게해야합니까?
내 모델은 다음과 같습니다.
public class Movie
{
public int ID { get; set; }
[Required]
public string Title { get; set; }
[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }
[Required]
public string Genre { get; set; }
[Range(1,100)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
[StringLength(5)]
public string Rating { get; set; }
[Required] /// <--- NEW
public string Director { get; set; }
}
내 최근 마이그레이션은 다음과 같습니다.
public partial class AddDataAnnotationsMig : DbMigration
{
public override void Up()
{
AlterColumn("dbo.Movies", "Title", c => c.String(nullable: false));
AlterColumn("dbo.Movies", "Genre", c => c.String(nullable: false));
AlterColumn("dbo.Movies", "Rating", c => c.String(maxLength: 5));
AlterColumn("dbo.Movies", "Director", c => c.String(nullable: false));
}
public override void Down()
{
AlterColumn("dbo.Movies", "Director", c => c.String());
AlterColumn("dbo.Movies", "Rating", c => c.String());
AlterColumn("dbo.Movies", "Genre", c => c.String());
AlterColumn("dbo.Movies", "Title", c => c.String());
}
}