データベースには、標準のルックアップ テーブル (ID、説明) と非常によく似たテーブルがあります。ただし、この特定のものは静的ではなく、クライアントはその場でエントリを追加する機能を必要としています。事前入力される一部のエントリは、それらをチェックするコード (さまざまなビジネス ルール) があるという点で「特別」です。
通常、ID を自動インクリメントせずにテーブルを作成するので、テーブル内のエントリを反映する列挙型が常に一致するという知識があれば安全です。次に、このオブジェクトの ID が、チェックしている列挙値と一致するかどうかを確認するだけです。
自動インクリメントしない ID と、その場で追加されないエントリのみをカバーする列挙型を使用して、同じアプローチを試みることができます。ユーザーが新しいエントリを追加するときに、次の ID を考え出すという問題にすぐに遭遇します。基本的に、データベースの自動インクリメント機能をコードに再実装します。
ID 列の使用に切り替えると、列挙値と同期しなくなるという全体的な問題が発生します。
もちろん、テキストの「説明」属性でいつでも一致させることができますが、それは明らかな理由から悪いことです。
このようなものに対処する良い方法はありますか? この質問は、私には本当に答えません。