EF Core 8: миграция добавляет AlterColumn в каждый столбец для последующих миграций.C#

Место общения программистов C#
Anonymous
EF Core 8: миграция добавляет AlterColumn в каждый столбец для последующих миграций.

Сообщение Anonymous »

У меня есть старое приложение на .NET Core 3.1 и EF Core 3.1. Я успешно перешел на .NET 8 и EF Core 8. Папка миграции была ОГРОМНОЙ, поэтому я сбросил миграцию, удалив все записи в таблице [__EFMigrationsHistory] и удалил папку миграции (папка миграции находится в отдельный проект.
Я успешно выполнил первоначальную миграцию, и EF Core создал класс со всеми существующими таблицами, столбцами, индексами и т. д. Поскольку база данных уже существует, я вручную добавил запись миграции в таблицу [__EFMigrationsHistory].
Затем мне пришлось добавить новую таблицу. Когда я запустил Add-Migration, полученный класс ОГРОМНЫЙ (должен был быть). содержал только необходимый код для новой таблицы). Он включает в себя код (я думаю) для каждого столбца в базе данных, например следующий:

Код: Выделить всё

migrationBuilder.AlterColumn(
name: "TenantId",
schema: "Common",
table: "XrmOrganization",
type: "uniqueidentifier",
nullable: true,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldNullable: true)
.Annotation("Relational:ColumnOrder", 300);

migrationBuilder.AlterColumn(
name: "StatusCode",
schema: "Common",
table: "XrmOrganization",
type: "int",
nullable: true,
oldClrType: typeof(int),
oldType: "int",
oldNullable: true)
.Annotation("Relational:ColumnOrder", 211);
Любая миграция, которую я пытаюсь добавить, добавляет сотни (возможно, тысячи) этих строк кода, изменяя столбцы. В качестве решения я вручную удалил все эти строки кода, но мне хотелось бы знать основную причину и способы решения этой проблемы, поскольку файл миграции содержит более 110 тысяч строк.
Любая помощь будет ОЧЕНЬ признательна.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -migration

Вернуться в «C#»