我有一张名为DynamicControl
的表格。它有一个名为ControlType
的属性,它在SQL Server 2008数据库中为nvarchar(255)
。如何在不使用POCO但EF生成模型类的情况下创建枚举类型的属性?
在代码中,我要的属性值是一个字符串,但它的字符串值必须来自一个枚举的字符串表示,像这样:
public enum ControlType
{
TextBox,
TextArea,
Password,
RadioButton,
Checkbox,
DropDownList,
MultiSelectList,
DatePicker,
TimePicker,
DateTimePicker
}
我该怎么办呢?
更新 我忘了补充信息的重要位,但不提供这,这听起来像一个愚蠢的问题。这个位是:我没有使用POCO的。我被传统限制为使用实体框架生成的模型类。如果我正在写POCO的,我只是简单地将数据类型改为枚举。但是,由于我使用生成的模型,这样做会导致EDMX标记和模型类之间的差异。
更新我的问题是,我怎么告诉实体框架生成的EDMX右标记,向上,以便在该属性的类型ControlType枚举,而不是字符串或为Int32?
因此,我的问题是不如何枚举转换为字符串,反之亦然。
你做unerstand,任何类似的东西这个枚举类型的属性将是一个整数不是一个字符串的权利? – 2013-05-07 13:13:25
是的,我喜欢。如果我正在写POCO的,我会写一个财产二传手来做翻译。不过,我正在使用实体框架生成的类。 – 2013-05-07 13:14:26
它仍然不清楚查尔斯的建议不起作用的原因,这基本上是巴尔德德的建议,只有更多的细节。用你刚刚分享的相关信息更新你的问题。 – 2013-05-07 13:17:43