模板化对象作为POCO

本文关键字:POCO 对象 | 更新日期: 2023-09-27 17:50:41

为了在edmx中表示枚举,我使用wrapper:

这是Enum:

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对象。因为我有很多枚举-我可以使用模板化的EnumWrapper吗?以便在edmx中用于保存枚举值的POCO对象将是模板?如有,我应如何称呼该实体的名称?公司类型将由EnumWrapper表示-这是可能的吗?

模板化对象作为POCO

我想这个问题已经在Stack Overflow上出现过了,答案是否定的。EDMX不支持模板