有没有一种方法可以从数据库表中动态填充枚举

本文关键字:数据库 动态 枚举 填充 方法 一种 有没有 | 更新日期: 2023-09-27 18:00:23

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

有没有一种方法可以从数据库表中动态填充枚举

我不知道这种可能性。但是,你为什么不使用字典呢??

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

理论上有两个选项:

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

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

然而,正如其他人所说,如果它是动态变化的,那么枚举可能不是您的正确选择。

尽管可以在运行时使用EnumBuilder从数据库值创建Enum,但在编译时它不会有任何值。

请参阅本文中的备选方案。