Я только что обновлен до Entity Framework Core 8 из 7. Использование кода Сначала, добавить миграцию < /code> теперь возвращает следующее новое предупреждение: < /p>
microsoft.entityframeworkcore.model.validation® entrity 'ontry' on entry 'ontry' on entry 'intyrity' on entry 'spotity' on entrity 'on entrity' on entrity 'ontriety «MytableTentity» настроен с помощью по умолчанию, созданного базой данных, но не имеет настроенного значения Sentinel. По умолчанию, сгенерированной базой данных, всегда будет использоваться для вставки, когда свойство имеет значение «ошибки», поскольку это по умолчанию CLR для типа «myenum».
рассматривает возможность использования нулевого типа, используя нулевое поле поддержки или установление значения Sentinel для свойства для обеспечения определения базы базы, когда он используется, и только в целом. См. Https://aka.ms/efcore-docs-default-values для получения дополнительной информации.
Вопрос
Что означает эта ошибка? Что такое значение Sentinel в SQL Server? (Да, я следил за ссылкой Microsoft, но нет информации) (Я не хочу использовать Nullable)MyTableEntity настроен на использование myenum , как показано здесь:
public partial class MyTableEntity
{
// primary key and other properties not shown
// This is not a foreign key to another table, just an enum
public MyEnum MyEnumPropertyID { get; set; }
}
< /code>
Строитель модели определяет по умолчанию, как показано < /p>
modelBuilder.Entity(entity =>
{
//other properties not shown
entity.Property(e => e.MyEnumPropertyID)
.IsRequired()
.HasDefaultValue((object)MyEnum.Default)
.HasConversion(); //
}
< /code>
А перечисление - это просто простое старое разнообразие сада enum < /p>
public enum MyEnum { Error, Default, HaveAGreatDay }
Подробнее здесь: https://stackoverflow.com/questions/779 ... roperty-to
Entity Framework Core 8 Предупреждение «Установка значения Sentinel для свойства для обеспечения использования базы данн ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение