Я использую EF Core для взаимодействия с SQL Сервером. Предположим, я добавляю новое свойство, допускающее значение NULL, к существующей сущности (т. Е. Новый столбец, допускающий значение NULL, к существующей таблице). Как получить миграцию, чтобы установить для вновь добавленного столбца значение по умолчанию, отличное от NULL, в строках EXISTING в таблице?
Предположим, я добавил в свою модель свойство int?
. В код миграции скаффолдинга я могу добавить аргумент defaultValue
, например:
migrationBuilder.AddColumn<int?>(
name: "MyNullableInt",
table: "MyTable",
nullable: true,
defaultValue: 0); // Manually added this argument
, но, как объяснено в в этом сообщении ,
Имейте в виду, что если столбец имеет значение NULL, то значение NULL будет использоваться для существующих строк
И, на самом деле, простой эксперимент показывает, что вновь добавленный столбец имеет значение NULL в существующие строки в базе данных.