Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 什么样的数据应该保存在连接的表中?_Database_Entity Framework_Data Binding_Relational Database - Fatal编程技术网

Database 什么样的数据应该保存在连接的表中?

Database 什么样的数据应该保存在连接的表中?,database,entity-framework,data-binding,relational-database,Database,Entity Framework,Data Binding,Relational Database,我有一个关于处理数据库中的数据的问题。 我有这样的桌子: 问题是,我应该在它的Name属性的Status表中保存什么样的数据? 我有两种可能: 保留字符串,例如:“正常”、“雇佣”、“禁止”、“版主”等 在那里保留int,对应于我的项目中的Enum类型,还包含所有那些“正常”、“雇佣”等 有什么规定吗?我在一个项目中看到了第二个选项(enum),作者证明了他的选择是正确的,事实上,他更容易将这些int解析为托管代码,只需使用以下行: (StatusEnum)statusInt; 在我看来,第

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

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

  • 保留
    字符串
    ,例如:“正常”、“雇佣”、“禁止”、“版主”等
  • 在那里保留
    int
    ,对应于我的项目中的
    Enum
    类型,还包含所有那些“正常”、“雇佣”等
  • 有什么规定吗?我在一个项目中看到了第二个选项(
    enum
    ),作者证明了他的选择是正确的,事实上,他更容易将这些int解析为托管代码,只需使用以下行:

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


    谁能告诉我他们的意见吗?

    如果你选择enum,你不需要特别的表格。您只需在
    User
    表中使用Status整数值,并将其直接映射到EF designer中的enum。如果您的
    状态
    是一个实体,则相关表是有意义的。您是否可以在运行时对其进行更改、添加或删除?如果是,则将其设置为具有字符串名称的表。如果否,则将其作为
    User
    表中的枚举字段。

    查看此处:。我个人推荐enum,因为它可以保护您不受打字错误的影响,并且需要更少的磁盘空间。