У меня есть столбец INT
в базе данных SQL Server, в котором хранится значение, относящееся к перечислению флага бит. Например, если перечисление:
[Flags()]
public enum UserType
{
StandardUser = 1,
Admin = 2,
SuperUser = 4
}
тогда столбец в SQL Server может содержать значение 5.
Что мне нужно сделать, так это выбрать все строки из другой таблицы, содержащие дополнительные сведения о UserType
, поэтому, используя пример значения 5, я хотел бы выбрать строки из второй таблицы с идентификаторами 1 и 4.
Кто-нибудь знает умный способ сломать номер таким образом - в идеале метод должен быть рекурсивным до некоторой степени, поскольку это очень упрощенный пример, а фактические таблицы/перечисления намного больше.