由于EF4缺乏枚举支持,我一直在尝试实施以下列出的解决方法:
但是,我正在为EF4使用POCO生成器(文章没有使用),并且我不断收到以下运行时错误:
无法找到EntityType的映射和元数据信息......
大概这是因为CreateObjectSet不理解包装类。
是否有人能够找到合适的解决方案来支持EF4中使用生成的POCO的枚举?
感谢。
答案 0 :(得分:7)
是的,EF4(或CTP5)不支持枚举类型属性;当然我们需要它们,我听说它们将在下一个版本中实现。
这是一种解决方法:
public enum FieldDataType
{
Image,
RawText,
Ajax
}
public class DefinitionDynamicField
{
public int FieldType { get; set; }
[NotMapped]
public FieldDataType FieldTypeObserver
{
get { return (FieldDataType)FieldType; }
set { return FieldType = (int)value; }
}
}
我们使用FieldTypeObserver
代替FieldType
。
这很难看,但确实有效。