0

配送状況コードの列挙があります。そして、配送データをデータベースに保存すると、同じデータ(つまり、同じ配送コード)を含むテーブルへの外部キーとともに保存されます

列挙をデータベース内のデータと同期させるための最善の戦略は何ですか?

新しいコードがデータベースに追加されたときに列挙に追加することを覚えていますか?

または、アプリケーションの起動時にデータをディクショナリにロードしますか? 列挙の代わりに辞書を使用しますか? これは、データの厳密に型指定された表現がないことを意味しますが、これは間違いなく必要です。

または、他の何か?

データはそれほど不安定ではありませんが、ブルームーンごとに新しいコードが追加されます

提案をいただければ幸いです。

ありがとう

4

2 に答える 2

4

私は Visual Studio 2008 で T4 テンプレートを使用しています。このようにして、ビルド中にコード生成を強制でき、必要なテーブルごとに Enum が生成されます。

Hilton Giesenow's sampleは良い出発点であり、あなたの質問に正確に答えていると思います。

別の角度からのより興味深いアプローチは、SQL ビューを使用してデータベース内の列挙型をエミュレートすることです。このようにして、データベースを C# (または他の) コードと同期します。これについては、こちらの Oleg Sych のブログですばらしい投稿を見つけることができます。

于 2008-11-28T06:58:07.650 に答える
0

コードで列挙を使用する場合、通常、データベースに列挙値のテーブルを保持するのではなく、書式設定された名前を varchar としてデータベースに格納します。これが好きなように正規化されていないことはわかっていますが、データベースと列挙を同期させようとするよりはましだと思います。必要なのは、挿入/更新時にフォーマットし、選択時に解析して、値を列挙に再構成することだけです。

これは、列挙が修正されると思われる場合にのみ行います。ただし、私も頻繁に更新を行っていません。データが定期的に更新される可能性が高いと思われる場合は、列挙を使用せず、データベースに外部キー参照を含む別のテーブルを作成します。

于 2008-11-27T03:39:43.230 に答える