比方说,如果我有一个电影表,其中包含一个int FilmTypeId字段和一个电影类型表,其中id和一个有意义的描述如下:
1 - 恐怖
2 - 喜剧
...
什么是在C#类中使用该信息的最佳方式?
目前我会将它们作为辅助类中的常量(不可思议的空中代码):
public class FilmHelper { public const int HorrorFilmType = 1; public const int ComedyFilmType = 2; ... }
但这似乎不可维护.但是每当我使用helper或main实体时,我每次使用常量或额外的db调用时都希望避免数据库调用.
类型列表是固定的还是更改?
如果修复了,我会将它封装在枚举中:
public enum FilmType { Horror = 1, Comedy = 2 }
然后只是演员.您可以使用属性(以及几行定制代码)来存储每个枚举项的额外描述.
如果列表发生了变化,我可能会在应用程序的早期读取它,并将列表缓存在某个地方的查找中(可能是静态的,可能是在特定的缓存中).然后只需从缓存副本中进行查找.
您可以通过添加在两个表示之间更改的属性来进一步实现此目的.