2

我有一个关于处理数据库中数据的问题。我有这样的表:

在此处输入图像描述

问题是,我应该Status在它的 Name 属性中保存什么样的数据?我有两种可能:

  1. 保留在那里strings,例如:“正常”、“雇用”、“禁止”、“版主”等。
  2. 保留在那里ints,对应Enum于我项目中的类型,还包含所有“正常”、“雇用”等。

有什么规定吗?enum我在一个项目中看到了第二个选项(

(StatusEnum)statusInt;

在我看来,第一个选项(strings)更专业,因为数据库更独立。但实际上我不知道如何争辩,因为它只会给我带来一个问题:我必须解析那些字符串以Enum type用两行(Enum.TryParse...)进行管理。

有人可以请给我他们的意见吗?

4

1 回答 1

1

如果您使用枚举,则不需要特殊的表。您只需在User表中使用 Status 整数值并将其直接映射到 EF 设计器中的枚举。Status如果您是实体,则相关表是有意义的。是否可以更改,可以在运行时添加或删除?如果是,则将其设为带有字符串名称的表。如果没有,则使其成为User表中的枚举字段。

于 2013-01-13T12:33:05.760 回答