我有一个位掩码枚举,其中设置了FlagsAttribute,像这样-
[FlagsAttribute]
public enum MyEnum
{
None = 0,
First = 1,
Second = 2,
Third = 4,
Five = 8,
Six = 16,
Seven = 32,
Eight = 64,
Nine = 128
}
现在,我用C#将这个值存储到一个属性中,比如说MyProperty,在保存时,我会将该属性写入我的SQL数据库的整数列中。假设我从代码中选择了
First,Second,Five
,那么在数据库中它将被保存为'11'
。我知道我可以从DB中获取值,然后只需要将int值强制转换为MyEnum,它就会给我相应的值。但是,我想在一些存储过程中对SQL数据进行一些操作,在这种情况下,我显然无法将其强制转换为枚举值。所以,有没有一种方法可以让我知道各个值。
例如,在示例中如果11被存储,任何一种方式可以让我将其显示为
"1+2+8"
吗?