В моем веб-приложении я использую модель со свойством Enum. Например:
public class SomeObject
{
public Guid ID { get; set; }
public string Name { get; set; }
public Color Color { get; set; }
}
public enum Color
{
blue,
red
}
Цвет - это обязательная форма поля. При использовании EF Core на основе этой модели была создана таблица, в которой столбец Color не равен нулю.
Однако некоторые исторические данные c, которые я пытаюсь импортировать в таблицу, имеют нулевые значения для цвета.
С точки зрения дизайна, какое должно быть лучшее решение:
- Измените модель, чтобы сделать Color обнуляемым, и добавьте дополнительную проверку в пользовательском интерфейсе и внутри API для предотвращения нулевых значений.
- Добавить нулевое значение к самому Enum.
- Назначить какое-либо значение по умолчанию для импортированных данных с нулевым цветом.
Мне не нравятся какие-либо из этих опций, но что будет лучшим с точки зрения дизайна?