类中的数据库常量

Nik*_*nte 6 c#

比方说,如果我有一个电影表,其中包含一个int FilmTypeId字段和一个电影类型表,其中id和一个有意义的描述如下:

  • 1 - 恐怖
  • 2 - 喜剧
  • ...

什么是在C#类中使用该信息的最佳方式?

目前我会将它们作为辅助类中的常量(不可思议的空中代码):

public class FilmHelper
{
    public const int HorrorFilmType = 1;
    public const int ComedyFilmType = 2;
    ...
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不可维护.但是每当我使用helper或main实体时,我每次使用常量或额外的db调用时都希望避免数据库调用.

Mar*_*ell 6

类型列表是固定的还是更改?

如果修复了,我会将它封装在枚举中:

public enum FilmType {
   Horror = 1,
   Comedy = 2
}
Run Code Online (Sandbox Code Playgroud)

然后只是演员.您可以使用属性(以及几行定制代码)来存储每个枚举项的额外描述.

如果列表发生了变化,我可能会在应用程序的早期读取它,并将列表缓存在某个地方的查找中(可能是静态的,可能是在特定的缓存中).然后只需从缓存副本中进行查找.

您可以通过添加在两个表示之间更改的属性来进一步实现此目的.