database - 在数据库中存储枚举值的最佳方式 - String 或 Int

标签 database nhibernate enums fluent

我的应用程序中有许多枚举 在某些类中用作属性类型。

将这些值存储在数据库中的最佳方式是什么,如 String 或 Int?

仅供引用,我还将使用流畅的 Nhibernate 映射这些属性类型。

示例代码:

public enum ReportOutputFormat
{
    DOCX,
    PDF,
    HTML
}

public enum ReportOutputMethod
{
    Save,
    Email,
    SaveAndEmail
}

public class ReportRequest
{
    public Int32 TemplateId
    {
        get { return templateId; }
        set { templateId = value; }
    }
    public ReportOutputFormat OutputFormat
    {
        get { return outputFormat; }
        set { outputFormat = value; }
    }

    public ReportOutputMethod OutputMethod
    {
        get { return outputMethod; }
        set { outputMethod = value; }
    }
}

最佳答案

两种情况下的实现都很容易,性能差异应该很小。

因此,寻找意义:字符串比数字更有意义,所以使用字符串。

关于database - 在数据库中存储枚举值的最佳方式 - String 或 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1612319/

相关文章:

database - 使用 Haskell 的 HDBC,我可以跨多个线程使用单个 SQLite 连接吗?

c# - 在 UnitOfWork 和 Repository 之间共享一个 NHibernate session

插入实体后,NHibernate "null identifier"异常

c# - NHibernate分层递归查询

php - 就整体执行速度而言,哪个更快

php - 为数据库中的两个新表创建模型和关系

sql - 练习数据库查询 (sql/tsql)

java - 枚举是否意味着静态类?

c# - 带有 FlagsAttributes 的枚举

ios - 从 NSDictionary Swift 设置枚举