Najpierw używam kodu EF dla mojego projektu. Mam następujący kod w moim DataModelKod struktury encji, co powoduje, że kolumna nie nadaje się do null
Aby to nie-nullable usunąłem "?" i uruchomił polecenie Add-Migration z konsoli menedżera pakietów. następujący plik migracyjny został wygenerowany.
public partial class PasswordDate : DbMigration
{
public override void Up()
{
AlterColumn("dbo.CertificateInfoes", "PasswordDate", c => c.DateTime(nullable: false));
}
public override void Down()
{
AlterColumn("dbo.CertificateInfoes", "PasswordDate", c => c.DateTime());
}
}
Ale gdy uruchamiam polecenie Update Database:
Update-Database -SourceMigration 201309020721215_PasswordDate
mi się następujący błąd: Nie można wstawić wartość NULL w kolumnie 'PasswordDate', stół ''; kolumna nie zezwala na wartości null. AKTUALIZACJA nie działa. Oświadczenie zostało wypowiedziane.
Uprzejmie sugerujemy rozwiązania.
Nie mogę zmienić tego z powrotem na zerowalny. dla drugiej opcji jak zdefiniować wartości domyślne? Czy muszę to zrobić w pliku Migration lub muszę dodać to w moim datamodelu? – HBhatia
@HardikBhatia Następnie podaj swojej kolumnie wartość domyślną, w przeciwnym razie będziesz musiał przechodzić przez osobne rekordy i aktualizować je. – mattytommo
Zmodyfikowałem już tabelę i upewniłem się, że moja kolumna PasswordDate nie ma wartości null w bazie danych. – HBhatia