如何在使用Oracle数据库的efcore迁移中将int更改为可为空

时间:2019-09-12 17:23:53

标签: c# oracle ef-migrations nullable ef-core-2.2

我正在尝试将模型的字段类型(是外键)从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')

0 个答案:

没有答案