在创建实体并在.NET中设置其实现(有效枚举)属性时,我需要一些关于最佳实践的建议。作为枚举或对象的.NET实体属性
举一个简单的例子,假设我有一个名为 '待办事项' 的对象,它有三个属性:
ID(INT)
文本(字符串)
国家(NotStarted,inProgress,则完成)
我的待办事项对象将存储在一个SQL Server数据库中,'Type'属性存储为int。国有财产不会有任何其他信息或与之相关的方法,只是标记了Todo实例的完整性。
应该如下我被创造Todo.cs枚举(的Todo类外):
public enum TodoState
{
NotStarted = 0,
InProgress = 1,
Complete = 2
}
在这之后,我可以创造我的Todo类为:
public class Todo
{
public int Id { get; set; }
public string Text { get; set; }
public TodoState State { get; set; }
}
还是应该我正在创建一个具有内部枚举和静态构造函数的TodoState类?还是有更好的完全不同的方式来做到这一点?
除了您认为在这种情况下实现此目标的最佳方法之外,解决此类问题的行业标准方法是什么?提前致谢。
应该注意的是,EF5仅支持.NET Framework 4.5或更高版本(Visual Studio 2012)中的枚举。 VS2010上的EF5不支持它们(技术上它是EF4.4,但它在安装5时已安装) – 2013-03-20 19:19:02
@MystereMan感谢您指出这一点。 – 2013-03-20 19:24:50
@MystereMan然而,EF6将支持.NET上的枚举4 http://blogs.msdn.com/b/adonet/archive/2012/10/30/ef6-alpha-1-available-on-nuget.aspx – Phil 2013-03-20 19:26:46