11

我正在使用.NET MVC 3 Code-First方法。我已經域一個實體,稱爲Question,這個實體有一個Score屬性,是Byte,我想這個屬性替換成Enum並命名EnumScore在哪裏可以設置的值從0到10枚舉應該放在MVC項目結構中的哪個位置?

應該在哪裏枚舉生活在那個結構中?在一個名爲的文件夾中枚舉在我的型號文件夾中?

更新:

這是我的項目結構中模型文件夾:

enter image description here

回答

1

這聽起來像你有一個價值對象。我會把它放在你把你的域中的其他值對象放在同一個地方,這真的取決於你的文件夾結構。絕對在模型文件夾中,但如果你細分模型文件夾,這取決於你如何做到這一點。你有Q &子文件夾嗎?也許它會在問題旁邊出現。或者你有價值對象子文件夾?也許在那裏。

+0

請參閱更新... .... –

+0

在這種情況下,我會創建一個新的Value Objects子文件夾並將其放在那裏。 – Domenic

1

除非有一個更好的地方,把它們,我把它們粘在模型文件夾。

如果你有很多枚舉,但是你可能想要做一個文件夾的想法。我不認爲我會稱它爲「枚舉」,因爲這不是很具描述性。

5

你真正應該關心的是你的枚舉的命名空間

無論您的類文件在解決方案中的何處存在,您的代碼都將依賴於命名空間。我在想,你可能會想要一個名字空間,如:Questiona2011.Enums。將Enum類與Models命名空間聯繫起來不是一個好主意 - 不是無法完成,但有時視圖可能需要與枚舉進行交互。所以我傾向於給我的枚舉一個單獨的命名空間。

您不一定需要爲類文件創建文件夾......如果您願意,可以保留在根目錄中 - 真正的因素是名稱空間。

因此,創建與命名空間的一類,像這樣:

using System; 

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

說了這麼多,我只是下降的模型文件夾中的類文件。 :)

0

如果您的項目越來越大,需要關注組織,您應該考慮創建一個新的項目,該項目只是您應用程序類型的DLL。

相關問題