首页 > 解决方案 > RenameColumn 在 EF Core 代码优先迁移中不起作用 - 使用 MySql (AWS Aurora)

问题描述

我正在使用以下软件包来使用 .Net Core 项目中的 MySql(AWS Aurora):

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" />
<PackageReference Include="MySql.Data" Version="8.0.16" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.16" />

它工作正常,但是,当我有一个重命名列的方案时,我遇到问题。它不工作。

迁移文件创建工作正常。它包含“ RenameColumn ”:

migrationBuilder.RenameColumn(
                name: "SecretKey",
                table: "Company",
                newName: "Password");

问题是运行Update-database命令时它不起作用,出现以下错误:

System.NotImplementedException:方法或操作未实现。在 Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(RenameColumnOperation 操作,IModel 模型,MigrationCommandListBuilder 构建器)在 Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate(MigrationOperation 操作,IModel 模型,MigrationCommandListBuilder 构建器)在 Microsoft.EntityFrameworkCore.Migrations.MigrationsSqlGenerator.Generate (IReadOnlyList`1 操作,IModel 模型)在 Microsoft.EntityFrameworkCore.Design.Internal 的 Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) 的 Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.GenerateUpSql(Migration migration)。 MigrationsOperations.UpdateDatabase(String targetMigration,

我已手动将此“RenameColumn”更改为两部分DropColumnAddColumn。它正在临时工作。

有什么建议么?

标签: c#mysqlcode-firstef-core-2.2amazon-aurora

解决方案


推荐阅读