我正在尝试将模型的字段类型(是外键)从gtk_menu_new()
更改为可为空的int
。
我编辑了模型,并创建并应用了迁移。
迁移看起来像这样。
int
但是在数据库中,该字段未修改。它仍然不能为空,并且不会让我插入空值。
我还尝试从protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "SITE_ID",
table: "TABLE_NAME",
nullable: true,
oldClrType: typeof(int));
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<int>(
name: "SITE_ID",
table: "TABLE_NAME",
nullable: false,
oldClrType: typeof(int),
oldNullable: true);
}
删除迁移并重新应用它。
我肯定已经应用了迁移,因为我在__EFMigrationHistory
方法中使用了断点。
如何使其可为空?
编辑:在控制台上,我更新数据库时会说这
UP
还有模型快照
Applying migration '20190912160216_NullableSiteUserRoleSite'.
Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (11ms) [Parameters=[], CommandType='Text', CommandTimeout='0']
ALTER TABLE "TABLE_NAME" MODIFY "SITE_ID" NUMBER(10)
Microsoft.EntityFrameworkCore.Database.Command[20101]
Executed DbCommand (210ms) [Parameters=[], CommandType='Text', CommandTimeout='0']
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
VALUES (N'20190912160216_NullableSiteUserRoleSite', N'2.2.6-servicing-10079')