簡體   English   中英

模板對象為POCO

[英]templated object as POCO

為了在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對象,用於保存數據庫中的枚舉值。 因為我有很多枚舉-我可以使用模板化的EnumWrapper嗎? 這樣在edmx中用來保存枚舉值的POCO對象將是模板? 如果是,我該如何稱呼實體名稱? CompanyType將由EnumWrapper表示-有可能嗎?

我認為這個問題已經出現在Stack Overflow上,答案是否定的。 EDMX不支持模板。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM