我有一个关于处理数据库中的数据的问题。
我有这样的桌子:
问题是,我应该在Status表的name属性中保留什么样的数据?
我有两种可能:
保持在那里,例如:“正常”、“雇佣”、“禁止”、“版主”等。
保持strings,对应于我的项目中的ints类型,还包含所有“普通”、“雇佣”等。
有什么规定吗?我在一个项目中看到了第二个选项(Enum),作者证明了他的选择是正确的,事实上,对他来说,更容易将这些int解析为托管代码,这一行:

(StatusEnum)statusInt;

在我看来,第一个选项(enum)更专业,因为数据库更独立。但实际上我不知道该怎么争辩,因为这只会给我带来一个问题:我必须用两行(strings)来解析这些字符串。
有人能告诉我他们的意见吗?

最佳答案

如果使用enum,则不需要特殊的表。您只需在User表中使用status integer value,并在ef designer中将其直接映射到enum。如果您的Status是一个实体,则相关表是有意义的。你可以在运行时添加或删除它吗?如果是,则将其设为具有字符串名称的表。如果否,则使其成为User表中的枚举字段。

关于database - 连接的表中应保留哪种数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14299028/

10-11 03:00
查看更多