Однако для такого процесса процесс кажется слишком сложным. простая задача.
Интересно, я что-то пропустил?
Пример в EF Core:
Код: Выделить всё
public enum EntityEnum
{
One,
Two,
Three
}
public class Entity
{
public EntityEnum[] Items { get; set; }
public static void GetEntityBuilder(EntityTypeBuilder entity)
{
entity.Property(e => e.Items)
.HasMaxLength(100)
.HasDefaultValue(null)
.ValueGeneratedNever()
.IsRequired(false);
}
}
Код: Выделить всё
new EntityEnum[] { EntityEnum.One, EntityEnum.Two, EntityEnum.Three }
Я пробовал вручную с помощью HasConversion, как я уже говорил ранее, но это кажется слишком сложным. В конце концов, для этого требуется ValueComparer (для строки). Кроме того, изменение преобразования по умолчанию может привести к поломке некоторых встроенных селекторов и еще много чего? Поэтому я хотел бы сохранить как можно больше нетронутым.
Есть ли какое-нибудь решение этой проблемы? Или я застрял на ручном преобразовании, которое потенциально может нарушить некоторые запросы, которые можно было бы поддерживать с помощью int[], сохраненного в базе данных?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ead-of-int