Entity framework 已删除的列和索引在迁移过程中不断重新添加自身

Entity framework 已删除的列和索引在迁移过程中不断重新添加自身,entity-framework,.net-core,entity-framework-core,Entity Framework,.net Core,Entity Framework Core,我在一个表中发现了一个外键列,该列与该实体的模型文件中的条目不匹配。 第一次尝试这样删除它(因为它没有在代码中引用,因为它不在模型文件中) 这删除了它,但随后代码开始出错,因为它似乎需要在一个特定的地方建立这种关系,而这种关系并不相关 因此,我重新添加了它(以及FK关系和索引),并在下一次迁移中尝试干净地删除它,如下所示(认为使用EF方式比直接在数据库中进行更干净): 但无论我做什么,迁移都会在下一次迁移中自动添加myfk和myindex。 如何避免这种情况发生?这些对象是否在模型中(即edmx

我在一个表中发现了一个外键列,该列与该实体的模型文件中的条目不匹配。 第一次尝试这样删除它(因为它没有在代码中引用,因为它不在模型文件中)

这删除了它,但随后代码开始出错,因为它似乎需要在一个特定的地方建立这种关系,而这种关系并不相关

因此,我重新添加了它(以及FK关系和索引),并在下一次迁移中尝试干净地删除它,如下所示(认为使用EF方式比直接在数据库中进行更干净):

但无论我做什么,迁移都会在下一次迁移中自动添加myfk和myindex。
如何避免这种情况发生?

这些对象是否在模型中(即edmx文件)?它们大约在5个月前被同事删除,因为myfk respresented的关系是通过另一个相关实体实现的,项目中没有edmx文件,只有常规模型文件
        migrationBuilder.Sql("alter table mytable drop constraint if exists myfk");
        migrationBuilder.Sql("drop index if exists myindex");
        migrationBuilder.Sql("alter table mytable drop column if exists myunusedFKcolumn");
        migrationBuilder.DropForeignKey(
            name: "myfk,
            schema: "myschema",
            table: "mytable");

        migrationBuilder.DropIndex(
            name: "myindex",
            schema: "myschema",
            table: "mytable");

        migrationBuilder.DropColumn(
            name: "myunusedFKcolumn",
            schema: "myschema",
            table: "mytable");