EF Code-First - Хранение IEnumerable из Enum - PullRequest
0 голосов
/ 27 сентября 2011

Я использую EF June CTP с простой поддержкой enum. У меня есть представление MVC 3, которое имеет флажки, которые при отправке извлекаются как массив некоторого перечисления.

public enum CheckBox : byte
{
   VALUE_1 = 1,
   VALUE_2 = 2,
   ...
}

Мне нужно взять эту совокупность перечислений ((IEnumerable)) и сохранить ее с помощью подхода, основанного на коде. Прямо сейчас это свойство полностью игнорируется.

Я не уверен, что в конечном итоге, когда сработает, создастся отдельная таблица «один ко многим» или сохранит все значения в одном столбце, но любые идеи будут хороши. Просто нужно хранить его. Как только он его сохранит, в конечном итоге будет здорово, если он не создаст отдельную таблицу «один ко многим» и каким-то образом сохранит ее в той же таблице, что и некоторая строка с разделителями, но я, вероятно, достигну здесь.

Спасибо.

ОБНОВЛЕНИЕ 1 Попытка добавить [Flags] в перечисление безрезультатно. Это полностью игнорируется во время генерации таблицы. Свойство Моя модель:

public IEnumerable<CheckBox> Values { get; set; }

1 Ответ

0 голосов
/ 27 сентября 2011

Вы должны использовать [Flags] перечисление вместо коллекции:

[Flags]
public enum Checboxes {
    SomeValue = 1,
    OtherValue = 2,
    ThirdValue = 4
}

public Checkboxes Boxes { get; set; }

Boxes = Checkboxes.SomeValue | Checkboxes.OtherValue;
...