有没有一种从数据库表动态填充枚举的方法?

时间:2011-06-27 09:09:39

标签: c# asp.net enums

我想创建一个用于选择可能性的枚举,但这些可能性可能会改变。因此,为了能够轻松地进行更改,我希望通过数据库表存储和管理这些可能性。有没有一种从数据库表动态填充枚举的方法? 谢谢你,Dov。

4 个答案:

答案 0 :(得分:0)

我不知道这种可能性。但是,为什么不使用Dictionary ??

答案 1 :(得分:0)

您的意思是您希望枚举自动更改(添加/删除枚举符号)以反映数据库表中的值吗?如果是这样,不,那是不可能的。枚举只是一组命名的整数常量。您必须手动更改枚举并重新编译程序集。

答案 2 :(得分:0)

理论上你有两个选择:

  1. 使用CodeDom构建枚举:
    http://msdn.microsoft.com/en-us/library/y2k85ax6.aspx

  2. 将枚举源代码写入文本文件并动态编译为程序集。

  3. 尽管如此,正如其他人所说,如果它动态变化,那么枚举可能不适合你。

答案 3 :(得分:0)

虽然可以在运行时使用数据库值中的EnumBuilder创建Enum,但在编译时它不会是任何值。

请参阅this有关替代方案的文章。