Aca*_*uza 11 .net asp.net-mvc enums domain-driven-design entity-framework
我正在使用.NET MVC 3 Code-First方法.我的域名有一个实体Question,这个实体有一个Score属性,Byte我希望将该属性替换为a,Enum并将其命名Enum为Score可以将值设置为0到10的位置.
Enums应该在哪里居住?在我的Model文件夹中名为Enums的文件夹中?
更新:
那是我的项目Structure in Models文件夹:

你真正需要关注的是你的枚举的命名空间.
无论解决方案中存在类文件的位置,您的代码都将依赖于命名空间.我想你可能想要一个命名空间:Questiona2011.Enums.将Enum类绑定到Models命名空间并不是一个好主意- 不是说它不能完成,但有时视图可能需要与您的枚举进行交互.所以我倾向于给我的枚举一个单独的命名空间.
您不一定需要为类文件创建一个文件夹...如果您愿意,可以保留在根目录中 - 真正的因素是命名空间.
所以用这样的命名空间创建一个类:
using System;
namespace Questiona2011.Enums
{
public enum Score
{
One = 1,
Two = 2,
.
.
.
Ten = 10
}
}
Run Code Online (Sandbox Code Playgroud)
话虽如此,我只是将类文件放在Models文件夹中.:)
听起来你有一个值对象。我会将它放在域中放置其他值对象的同一位置,这实际上取决于您的文件夹结构。绝对在模型文件夹中,但如果您要细分模型文件夹,则取决于您的操作方式。您有“问答”子文件夹吗?也许它就在问题旁边。或者您有 Value Objects 子文件夹吗?也许在那里。