В нашей базе данных есть битовая маска, представляющая, какие типы действий может выполнять пользователь.
В нашем клиенте C # при извлечении этого целочисленного значения из базы данных мы создаем перечисление / флаг. Это выглядит примерно так:
[Flags]
public enum SellPermissions
{
Undefined = 0,
Buy = 1,
Sell = 2,
SellOpen = 4,
SellClose = 8
// ...
}
В нашем приложении у меня есть страница с правами на редактирование, которую я затем использую для изменения значения этого перечисления с помощью побитового ИЛИ для различных значений перечисления.
permissions = SellPermisions.Buy | SellPermissions.Sell;
Теперь, после внесения этих изменений, в моем вызове базы данных мне нужно вызвать sproc update / insert, который ожидает целочисленное значение.
Как я могу получить целочисленное побитовое значение из моего enum / flag, чтобы я мог установить измененные разрешения в базе данных?