我正在使用.NET MVC 3 Code-First方法。我已经域一个实体,称为Question
,这个实体有一个Score
属性,是Byte
,我想这个属性替换成Enum
并命名Enum
到Score
在哪里可以设置的值从0到10枚举应该放在MVC项目结构中的哪个位置?
应该在哪里枚举生活在那个结构中?在一个名为的文件夹中枚举在我的型号文件夹中?
更新:
这是我的项目结构中模型文件夹:
我正在使用.NET MVC 3 Code-First方法。我已经域一个实体,称为Question
,这个实体有一个Score
属性,是Byte
,我想这个属性替换成Enum
并命名Enum
到Score
在哪里可以设置的值从0到10枚举应该放在MVC项目结构中的哪个位置?
应该在哪里枚举生活在那个结构中?在一个名为的文件夹中枚举在我的型号文件夹中?
更新:
这是我的项目结构中模型文件夹:
这听起来像你有一个价值对象。我会把它放在你把你的域中的其他值对象放在同一个地方,这真的取决于你的文件夹结构。绝对在模型文件夹中,但如果你细分模型文件夹,这取决于你如何做到这一点。你有Q &子文件夹吗?也许它会在问题旁边出现。或者你有价值对象子文件夹?也许在那里。
除非有一个更好的地方,把它们,我把它们粘在模型文件夹。
如果你有很多枚举,但是你可能想要做一个文件夹的想法。我不认为我会称它为“枚举”,因为这不是很具描述性。
你真正应该关心的是你的枚举的命名空间。
无论您的类文件在解决方案中的何处存在,您的代码都将依赖于命名空间。我在想,你可能会想要一个名字空间,如:Questiona2011.Enums
。将Enum类与Models
命名空间联系起来不是一个好主意 - 不是无法完成,但有时视图可能需要与枚举进行交互。所以我倾向于给我的枚举一个单独的命名空间。
您不一定需要为类文件创建文件夹......如果您愿意,可以保留在根目录中 - 真正的因素是名称空间。
因此,创建与命名空间的一类,像这样:
using System;
namespace Questiona2011.Enums
{
public enum Score
{
One = 1,
Two = 2,
.
.
.
Ten = 10
}
}
说了这么多,我只是下降的模型文件夹中的类文件。 :)
如果您的项目越来越大,需要关注组织,您应该考虑创建一个新的项目,该项目只是您应用程序类型的DLL。
请参阅更新... .... –
在这种情况下,我会创建一个新的Value Objects子文件夹并将其放在那里。 – Domenic