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