J'ai ajouté le [Required]
de données à l'un de mes modèles dans un fichier Application ASP.NET MVC . Après avoir créé une migration, exécutez le Update-Database
entraîne l'erreur suivante :
Impossible d'insérer la valeur NULL dans la colonne 'Director' de la table MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies' ; la colonne n'autorise pas les nuls. n'autorise pas les valeurs nulles. L'UPDATE échoue. L'instruction a été interrompue.
Ceci est dû au fait que certains enregistrements ont NULL dans leur Director
colonnes. Comment puis-je changer automatiquement ces valeurs en un directeur par défaut (disons "John Doe") ?
Voici mon modèle :
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; }
}
et voici ma dernière migration :
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());
}
}