Основная миграция EF — свойство, допускающее значение NULL, преобразуется в столбец, не допускающий значения NULL.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Основная миграция EF — свойство, допускающее значение NULL, преобразуется в столбец, не допускающий значения NULL.

Сообщение Anonymous »

У меня есть класс модели OverAllStatus со свойством:

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

    [Column("OverallStatusID")]
[StringLength(50)]
public string? OverallStatusId { get; set; }
Однако в ContextModelSnapshot столбец определен как не допускающий значения NULL:

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

                    b.Property("OverallStatusId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasColumnName("OverallStatusID");
Столбец не является ПК (знаю, имя неудачное, но мне приходится работать с тем, что мы унаследовали). Когда я пытаюсь создать миграцию, она генерируется пустой (нет изменения).
Мне нужно сделать столбец обнуляемым, но я в растерянности. Что может быть причиной такого поведения? Это из-за имени столбца, который EF ожидает, что это ключ, и, таким образом, помечает его как ненулевой?
Я попытался отредактировать ContextModelSnapshot и удалить вызов метода IsRequired() и создайте миграцию со свойством, помеченным как обнуляемое. Я получил миграцию, которая превращает столбец в столбец, не допускающий значения NULL. Таким образом, по сути, следующая миграция все равно попытается отменить это ручное изменение.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ble-column
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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