c# - 最佳实践 : use enum or not to store dropdown values

标签 c# enums html-select

我正在开发一个应用程序,我经常问自己同样的问题。

例如,我有多种类型的用户,在用于创建用户的表单中,有一个下拉列表用于指定用户类型。

填充此下拉列表的最佳方法是将值存储在数据库的表中?如果我这样做,当我开发时我想测试用户类型并且我只有一个 int。但我认为使用枚举进行测试是更好的做法。所以我创建了枚举,但我觉得这是一种不好的做法,因为我必须保持数据库和枚举同步。

另一个问题是关于本地化的。如果我将值放入数据库中,我将无法使用资源文件。

你能告诉我这方面的好的做法吗?

谢谢

最佳答案

在您的情况下 - 数据库将是这里的最佳实践,特别是如果它是动态数据。枚举用于那些很少更改的值,可能偶尔更改一次,但不经常更改。您可能会定期在数据库中输入新条目,尤其是对于级联下拉列表之类的东西。

数据库当然是适合您的情况。枚举在它们只是一个固定标准且很少更改的时代存在,例如:

先生。 错过。 太太。 小姐。 博士

您可以将它们放在枚举中,因为它们永远不会真正改变。另一方面,如果商店部门要更改或重命名,数据库将是存储此类条目的地方。

关于c# - 最佳实践 : use enum or not to store dropdown values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193537/

相关文章:

html - <SELECT multiple> - 如何只允许选择一个项目?

c# - AWS S3 授予对整个文件夹的访问权限 - C#

c# - Sharepoint ClientObject 模型下载文件 C#

Java:如何编写接受实现给定接口(interface)的枚举常量的通用函数?

c++ - 如何处理 -Wreturn-type 以切换 C++11 枚举类?

javascript - 隐藏 select2 多搜索框

c# - 从另一个表获取ID

c# - 如何使用 web.config 从 iis 中删除扩展

enums - 定位枚举类型的最佳位置在哪里?

php - Jquery html() 而不是 val()