我有一个数据对象的数据层对象的“状态”(让我们说这就是所谓的“入门”),有一组是这个样子的潜在状态:使用枚举在C#中
1 - Created 2 - File added 3 - Approved 4 - Invalid
这在数据库中用一个带有自动编号主键的'状态'表来表示,然后在主表中设置一个'状态标识'字段,并建立适当的关系。
在我的(自定义)数据层中,我有'Entry'对象,并且当前还声明了一个Enum,其中列出了上面列出的状态。最后,我宣布这个Enum的私有实例以及相应的公共属性。
在我的'Commit()'方法中,我将Enum的实例转换为一个整数并将其传递给Update存储过程。
在我的静态'GetEntry()'方法中,我显然会从数据库传回一个整数。然后,我使用'Enum.Parse()'方法来提取一个对象,该对象是我的Enum的一个实例,它与返回的状态整数相对应。我把它转换成我的枚举类型,并将其分配给本地私有变量。
我的问题很简单 - 这种方法是否合适,如果不是什么替代方案,除了存储原始整数值(我不一定反感),更好。
我的要求是,这一切似乎令人难以置信的混乱对我来说,什么与所有铸造和维护同一组值的两个列表。我接受的好处在于为数据对象的消费者提供更好的体验,但即使如此...
谢谢!
“这是在数据库中用'自动编号主键'的'状态'表格表示的;-) – 2009-03-03 15:00:57
是的,这不起作用,因为默认情况下枚举从0开始编号。祝你好运固定的状态:) – leppie 2009-03-03 15:08:52
我的坏,修正:) – Gavin 2009-03-03 15:10:57