Ich habe die [Required]
Datenanmerkung einem meiner Modelle in einer ASP.NET MVC-Anwendung hinzugefügt . Nach dem Erstellen einer Migration führt das Ausführen des Update-Database
Befehls zu folgendem Fehler:
Der Wert NULL kann nicht in die Spalte 'Director', Tabelle 'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies' eingefügt werden. Spalte erlaubt keine Nullen. UPDATE schlägt fehl. Die Anweisung wurde beendet.
Dies liegt daran, dass einige Datensätze NULL in ihren Director
Spalten haben. Wie kann ich diese Werte automatisch in einen Standarddirektor (z. B. "John Doe") ändern?
Hier ist mein Modell:
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; }
}
und hier ist meine letzte 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());
}
}