Standard-bool auf false, wenn der Wert null in der Datenbank mit Entity Framework 4.1 Code Erste
Wie kann ich den default-Wert, wenn ein Wert (bit) in der Datenbank auf NULL gesetzt. Bis jetzt bin ich immer eine Fehlermeldung sagt mir, dass es nicht NULL sein, wenn das laden einer bool aus der Datenbank.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrem Modell passen die Datenbank - wenn die Datenbank ein NULL-Wert, sollten Sie eine nullable bool in Ihrem Modell - Sie können Sie jedoch überschreiben die Einstellung für diese Eigenschaft in Ihrem Modell ein, um eine NULL in einen false-Wert:
Idealerweise sollten Sie diese situation vermeiden, und legen Sie einen default-Wert in der Datenbank-Spalte - dann brauchen Sie nicht, diese Problemumgehung.
Wenn Sie eine migration Ihrer Datenbank ändert, aktualisieren Sie die migration-Klasse, um den Standard-Wert vor der Aktualisierung der Datenbank:
Wird dies übersetzen in die folgenden SQL:
Könnte man ändern, meine Antwort von Möglich, Standard-DateTime-Feld GETDATE() mit Entity Framework-Migrationen? zu legen Sie die defaultValue - /defaultValueSql auf false. Es verwendet eine wrapper-Klasse, die MigrationCodeGenerator und ändert dann die MigrationOperations (CreateTableOperation/AddColumnOperation), um die DefaultValueSql für DateTime-Eigenschaften, wenn Sie nicht null sind.