c# - 类中的数据库常量

标签 c#

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

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

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

目前我会将它们作为辅助类中的常量(不出所料,空气代码):

public class FilmHelper
{
    public const int HorrorFilmType = 1;
    public const int ComedyFilmType = 2;
    ...
}

但这似乎不太容易维护。但是我想避免每次使用常量时调用数据库,或者每次使用助手或主实体时调用额外的数据库。

最佳答案

类型列表是固定的还是变化的?

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

public enum FilmType {
   Horror = 1,
   Comedy = 2
}

然后就施法了。您可以使用属性(和几行定制代码)为每个枚举项存储额外的描述。

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

您可以通过添加在两种表示之间发生变化的属性来更进一步。

关于c# - 类中的数据库常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/364141/

相关文章:

c# - 如何为单个项目返回 IEnumerable<T>

c# - 使用 base.Any(..) 警告是 : 'HashSet' does not contain a definition for 'Any'

c# - Process.Kill() 与 Process.Start ("taskkill",...)

c# - 如何将我的方法分配给线程?

c# - 在 WinRT 应用程序中处理 2、3、4、5 个手指敲击、双击和按住手势

c# - C# Yield 会释放锁吗?

c# - 查询范围的类集合产品等

c# - 文件 "obj\Debug\android\bin\packaged_resources"不存在。在 Windows 8.1 上的 Visual Studio 2015 Xamarin 跨平台中

c# - 我可以仅使用套接字在 Java 和 C# 之间进行通信吗?

c# - 使用任务计划程序的应用程序很快就会耗尽内存