EF4 POCO生成对象中的枚举

goo*_*oon 7 .net entity-framework poco entity-framework-4

由于EF4缺乏枚举支持,我一直在努力实现以下列出的解决方法:

http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake-enums-in-ef-4.aspx?PageIndex=1&CommentPosted=true#comments

但是,我正在使用POCO生成器用于EF4(文章不使用),并且我不断收到以下运行时错误:

无法找到EntityType的映射和元数​​据信息...

大概这是因为CreateObjectSet不理解包装类.

有没有人能够找到一个合适的解决方案来支持EF4生成的POCO中的枚举?

谢谢.

Nur*_*MAZ 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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我们用FieldTypeObserver而不是 FieldType.

它很难看,但它有效.