数据库 table 中的枚举与静态 class

Enum vs Static class in database table

我必须存储在数据库中

[Column 1], [Column 2-start datetime]
Version1_1,   01-01-2011
Version1_2,   01-01-2011
Version1_3,   01-01-2011

… 我有一个包含两个字段的 class:版本名称和日期时间 (+id)。 版本名称代表第一列。它可以是 enum 或带有常量的 static class

关于我理解的几乎所有场景,枚举更好。但是随后,数据库将在第一列中存储整数而不是字符串值。这让我有一种不确定的感觉。

在这种情况下,枚举仍然是最佳选择吗?我没有看到数据库 [Column 1] 中缺少干净字符串值的缺点。

如果将值作为整数存储在数据库中,则有几个优点:

  • 需要更少的存储空间space
  • 不考虑字符串比较更容易查询
  • 更好的查询性能,因为整数比较比字符串比较快得多

数据库方面的缺点当然是可读性降低,但考虑到优点,我更喜欢数据库中的整数。

在 C# 方面,枚举让您拥有两全其美:内部整数和同时使用值时的文本标识符。