Eu adicionei a [Required]
anotação de dados a um dos meus modelos em um aplicativo ASP.NET MVC . Depois de criar uma migração, a execução do Update-Database
comando resulta no seguinte erro:
Não é possível inserir o valor NULL na coluna 'Diretor', tabela 'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'; coluna não permite nulos. UPDATE falha. A instrução foi encerrada.
Isso se deve ao fato de alguns registros possuírem NULL em suas Director
colunas. Como posso alterar automaticamente esses valores para algum diretor padrão (digamos "John Doe")?
Aqui está meu modelo:
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; }
}
e aqui está minha última migração:
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());
}
}