Я обнаружил столбец внешнего ключа в таблице, которому не соответствует запись в файле Models для этой сущности.Сначала попытался удалить его следующим образом (потому что на него нет ссылок в коде, как это не указано в файле Models)
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");
Это удалило его, но затем код начал ошибаться, как казалосьнужно, чтобы это отношение находилось в одном конкретном месте, где это отношение не имеет отношения.
Поэтому я повторно добавил его (вместе с отношением FK и индексом), и в следующей миграции попытался удалить его чисто, какэто (думая, что делать это способом EF было бы более чисто, чем непосредственно в базе данных):
migrationBuilder.DropForeignKey(
name: "myfk,
schema: "myschema",
table: "mytable");
migrationBuilder.DropIndex(
name: "myindex",
schema: "myschema",
table: "mytable");
migrationBuilder.DropColumn(
name: "myunusedFKcolumn",
schema: "myschema",
table: "mytable");
Но что бы я ни делал, миграции продолжают автоматически добавлять myfk и myindex обратно в следующую миграцию.Как избавиться от этого происходящего?