我在要在代码中使用的数据库表中有元数据。元数据是用于报告花费时间的不同类型的时间类型。
数据可以是:NormalTime OverTime Vacation Illness 等
数据有一个 ID 和一个描述和一些其他的东西。
ID = 1
Name = "Regular time"
Description = "Normal work time"
在我的代码中关联这些数据的好方法是什么?
例如,如果我想创建一个汇总所有 NormalTime 报告的方法(我有另一个表存储使用的时间,其中 NormalTime ID 和数量以及其他一些东西)我该怎么做?
我不想对 ID 进行硬编码:
Select * from xyz where TimeType = 1
我想做的是:
Select * from xyz where TimeType = NormalTime.
否则代码变得非常难以阅读。
在我当前的解决方案中,我有与 ID 相关的硬编码字符串常量。这样做的问题是,如果有人将 TimeType 的描述从 NormalTime 更改为硬编码字符串 const sai 是一回事,而 db 数据是另一回事。是的,发生这种情况是因为我无法控制数据库内容:(
那么,我如何以最好的可维护和可读的方式解决这个问题,其中数据库表中可能发生更改并且代码不会很难阅读。有人可以将 TimeTypes 添加到数据库中,然后我可以添加在代码中使用它们的方法。