1

リレーションデータベースにデータの行を持つアプリケーションがあります。テーブルには常に次のいずれかのステータスが必要です

未提出、承認待ち、承認済み、却下済み

これらは決して変更されないため、それらを実装する最良の方法を決定しようとしていましたが、値を含む Status 列挙型と、int がテーブル行の status 列に配置される場所に割り当てられた int を考えることができます。

または、テーブルにリンクされたステータス テーブルと、ユーザーがこれらのいずれかを現在のステータスとして選択します。

現在、ドロップダウンなどにデータを入力し、SQL を設定するための承認ページのこれらの値を列挙した列挙型を使用しているため、どちらがより良いオプションであるかを判断できません (現在、承認済みと承認のために提出されたものをブール化するために使用しているため、これは汚れています)さまざまな理由とニーズの変化により)。

これについてのあなたの考えと、私はどちらに行くべきか疑問に思っています.

違いがあれば、エンティティ フレームワークを使用しています。

4

3 に答える 3

1

私は列挙型を使用し、[Description("asdf")]属性を使用して、意味のある文や、列挙型では許可されていないものをバインドします。次に、Enum テキスト自体をドロップダウンの値として使用し、説明を表示テキストとして使用します。

于 2010-08-20T15:46:42.557 に答える
1

Enum の方がパフォーマンスが向上するため (ステータスを取得するための結合がないため)、変更されない場合は Enum を使用します。また、それはより簡単な解決策です:)。

于 2010-08-20T15:30:35.837 に答える
1

これらは決して変わらないので...

この仮定は誤りであり、思ったよりも早いと期待できます。

ルックアップテーブルを使用します。列挙型の定義を変更するよりも、ルックアップ テーブルで値を追加または変更する方がはるかに簡単です。

ルックアップ テーブルで自然主キーを使用できるため、値を取得するために結合を行う必要はありません。はい、文字列は整数 ID よりも少し多くのスペースを必要としますが、目的が結合を回避することである場合、これはその目的を達成します。

于 2010-08-20T15:34:28.157 に答える