コードで使用したい DB テーブルにメタデータがあります。メタデータは、費やされた時間を報告するためのさまざまな種類の時間型です。
データは次のとおりです。 通常時間 残業 休暇 病気など
データには、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 に関連するハードコーディングされた文字列 const があります。これに関する問題は、誰かが TimeType の説明を NormalTime から何かに変更した場合、ハードコードされた文字列 const が 1 つのことを言い、db データが別のことを言う場合です。はい、DB コンテンツを制御できないため、これが発生しました :(
では、DB テーブルで変更が発生する可能性があり、コードが読みにくくならない、保守可能で読みやすい方法でこれを解決するにはどうすればよいでしょうか。誰かが TimeTypes を DB に追加でき、後でコードでそれらを使用するメソッドを追加できます。