Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为POCO的模板化对象_C#_.net_Entity Framework - Fatal编程技术网

C# 作为POCO的模板化对象

C# 作为POCO的模板化对象,c#,.net,entity-framework,C#,.net,Entity Framework,为了在edmx中表示枚举,我使用了包装器: 这是枚举: public enum CompanyType { SMALL_BUSINESS, REGISTERED_BUSINESS, PROPRIETARY_LIMITED_COMPANY } 这是包装器: public class CompanyTypeWrapper { public CompanyType CompanyTypeEnum { get; set; }

为了在edmx中表示枚举,我使用了包装器:

这是枚举:

public enum CompanyType
    {
        SMALL_BUSINESS,
        REGISTERED_BUSINESS,
        PROPRIETARY_LIMITED_COMPANY
    }
这是包装器:

public class CompanyTypeWrapper
{
    public CompanyType CompanyTypeEnum { get; set; }

    public string CompanyTypeName
    {
        get
        {
            return Enum.GetName(typeof(CompanyType), CompanyTypeEnum);
        }
        set
        {
            if (Enum.IsDefined(typeof(CompanyType), value))
            {
                CompanyTypeEnum = (CompanyType)Enum.Parse(typeof(CompanyType), value);
            }
        }
    }

    public static implicit operator CompanyTypeWrapper(CompanyType t)
    {
        return new CompanyTypeWrapper() { CompanyTypeEnum = t };
    }

    public static implicit operator CompanyType(CompanyTypeWrapper tw)
    {
        if (tw == null) return CompanyType.SMALL_BUSINESS;
        else return tw.CompanyTypeEnum;
    }
}
CompanyTypeName属性具有来自数据库的枚举的代码。 CompanyTypeWrapper是用于保存数据库中的枚举值的POCO对象。
因为我有很多枚举-我可以使用模板枚举包装器吗?因此,在edmx中,用于保存枚举值的POCO对象将是模板?如果是-我应该如何称呼实体的名称?CompanyType将由EnumWrapper表示-可能吗?

我认为这个问题已经出现在堆栈溢出上,答案是否定的。EDMX不支持模板。

你说得对-以下是解决方案: