有没有办法从数据库表动态填充枚举?

发布于 2024-11-17 10:56:29 字数 106 浏览 1 评论 0原文

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

I want to create an enum for choosing possibilities but those possibilities may change. So in order to be able to make changes easily I want those possibilities to be stored in and managed thru a data base table. Is there a way of filling an enum dynamically from a data base table?
Thank you, Dov.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

中二柚 2024-11-24 10:56:29

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

I am not aware of this possibility. However, why dont you use Dictionary ??

甜妞爱困 2024-11-24 10:56:29

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

Do you mean you want the enum to automatically change (add/remove enum contants) to reflect the values in your database table? If so, no, that is not possible. Enumerations are just a set of named integer constants. You have to change the enum manually and recompile your assembly.

懒猫 2024-11-24 10:56:29

理论上您有两个选择:

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

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

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

Theoretically you have two options:

  1. Use CodeDom to construct the enum :
    http://msdn.microsoft.com/en-us/library/y2k85ax6.aspx

  2. Write the enum source code to a textfile and compile it dynamicaly to an assembly.

Nevertheless, as others say, if it changes dynamically, probably an enum is not the right choice for you.

半城柳色半声笛 2024-11-24 10:56:29

尽管可以使用 EnumBuilder 来自数据库值,它在编译时没有任何价值。

有关替代方案,请参阅这篇文章。

Although it would be possible to create an Enum at runtime using EnumBuilder from your database values, it would not be of any value at compile time.

See this article on an alternative.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文