我有一个关于处理数据库中的数据的问题。
我有这样的桌子:
问题是,我应该在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/