2

データベース内のデータの操作について1つ質問があります。私はこのようなテーブルを持っています:

ここに画像の説明を入力してください

Status問題は、 Nameプロパティのテーブルにどのような種類のデータを保持する必要があるかということです。私には2つの可能性があります:

  1. たとえばstrings、「通常」、「採用」、「禁止」、「モデレーター」などです。
  2. プロジェクトのタイプにints対応しEnum、「通常」、「採用」などもすべて含まれています。

それについて何かルールはありますか?あるプロジェクトで2番目のoption(enum)を見ましたが、作成者は、次の行だけで、これらのintをマネージコードに解析する方が簡単であるという事実を踏まえて、彼の選択を正当化しました。

(StatusEnum)statusInt;

私の意見では、データベースがより独立しているため、最初のオプション(strings)はより専門的です。しかし、実際には、問題が発生するだけなので、議論の仕方がわかりません。これらの文字列を解析してEnum type、2行で管理する必要があります(Enum.TryParse...)。

誰かお願いできますか、意見を聞かせてください。

4

1 に答える 1

1

列挙型を使用する場合は、そのための特別なテーブルは必要ありません。テーブルでステータス整数値を使用Userし、EFデザイナで直接列挙型にマップするだけです。Statusあなたがエンティティである場合、関連する表は理にかなっています。それはあなたが変更できるものですか、実行時に追加または削除できますか?はいの場合は、文字列名のテーブルにします。いいえの場合は、テーブルの列挙型フィールドにしUserます。

于 2013-01-13T12:33:05.760 に答える