Добавьте новые значения в Enum и установите для них значение true по умолчанию [Flags] - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть перечисление:

[Flags]
public enum Role
{
    Basic = 0,
    A = 1,
    B = 2,
    C = 4,
    D = 8
}

Я сохраняю это значение в БД в int столбце Role, где Role = A | B | C (например), поэтому я использую побитовые операторы.

Я добавляю 2 новых значения в это перечисление: E = 16 и F = 32. Но мне нужно установить для этих значений значение true по умолчанию для старых записей БД.

Один способ увидеть, как это реализовать - миграция БД, где Role = old Role value + 16 + 32. Это правильно?

И есть ли другой способ реализовать это?

1 Ответ

0 голосов
/ 22 апреля 2019

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

Хотя некоторые поставщики БД имеют побитовые операции, например:

...