11

私は.NET MVC 3 Code-Firstアプローチを使用しています。私のドメインは、エンティティがQuestionと呼ばれている、このエンティティはByteであり、私がすべき私は0から10までenumはMVCのプロジェクト構造の中でどこに住んでいますか?

を値を設定することができますScoreEnumと名前このEnumにそのプロパティを置き換えたいScore性質を持っています列挙型はその構造で生きていますか? フォルダにフォルダがありますか?

更新:私のプロジェクト構造だ

のモデルフォルダ:

enter image description here

答えて

1

値オブジェクトがあるようです。あなたのドメインに他のバリューオブジェクトを置くのと同じ場所に置いていますが、これは本当にあなたのフォルダ構造に依存しています。確かにModelフォルダにありますが、モデルフォルダを細分している場合は、どのように行っているかによって異なります。 Q &サブフォルダがありますか?多分、それは質問の隣にあります。または、Value Objectsサブフォルダがありますか?多分そこに。

+0

更新を参照してください.... .... –

+0

その場合は、新しい値オブジェクトのサブフォルダを作成してそこに配置します。 – Domenic

1

それらを置くためのより良い場所がない限り、私はモデルのフォルダに貼り付けます。

多くのEnumがある場合は、フォルダのアイデアをやりたいことがあります。それはあまり説明的ではないので、私はそれを "enums"と呼ぶとは思わない。

5

本当に心配すべきことは、ネームスペースあなたのenumsです。

ソリューションにクラスファイルが存在する場所に関係なく、コードは名前空間に依存します。私はおそらくあなたのような名前空間がほしいと思っています:Questiona2011.Enums。 EnumクラスをModels名前空間に結びつけるのは良い考えではありません。できないわけではありませんが、ビューがあなたの列挙型とやり取りする必要があることがあります。だから、私は自分の列挙体に別の名前空間を与える傾向があります。

クラスファイルのフォルダを作成する必要はありません。必要に応じて、ルートディレクトリに保存することができます。本当の要因は名前空間です。

だから、そうのような名前空間とクラスを作成します。

using System; 

namespace Questiona2011.Enums 
{ 
    public enum Score 
    { 
     One = 1, 
     Two = 2, 
     . 
     . 
     . 
     Ten = 10 
    } 
} 

は、私はちょうどモデルフォルダ内のクラスファイルをドロップするだろう、と述べました。 :)

0

あなたのプロジェクトが組織化に不安を抱えている場合は、アプリケーションタイプのDLLだけである新しいプロジェクトの作成を検討する必要があります。

関連する問題