【发布时间】:2012-02-07 22:40:22
【问题描述】:
在 EF 5.0(计划很快发布)之前,实体框架将不支持枚举。
Entity Framework 4.2 enum support
http://blogs.msdn.com/b/efdesign/archive/2011/06/29/enumeration-support-in-entity-framework.aspx
WCF 数据服务(和 oData 标准)不支持枚举
我们知道枚举很常见,不幸的是它们从未遇到过 酒吧到目前为止。它们在我们接下来要做的事情清单上相当高 虽然
(参见:https://stackoverflow.com/a/3571378/141172)
我已经开始了一个新项目,并且正在将枚举替换为以下内容:
public static class MyEnum
{
public const int MyValue = 0;
public const int AnotherValue = 1;
}
我牺牲了枚举提供的保证,即只分配定义的值,以便利用重要的(并且在这一点上相当成熟的)基础设施服务。
有没有更好的方法来处理滞后的枚举支持?一旦 EF 和 WCF 数据服务添加了枚举支持,是否有可能出现另一个重要的框架,它将像这两个一样缓慢地引入枚举支持?
【问题讨论】:
-
对读者的教育只是一个小问题。枚举不验证该值是否为“命名”值之一。如果 Color 被定义为公共枚举 Color { Red, Blue, Green },我可以轻松地将 ((Color)43) 传递给任何想要颜色的东西
标签: .net entity-framework enums wcf-data-services