模板化对象作为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表示-这是可能的吗?
我想这个问题已经在Stack Overflow上出现过了,答案是否定的。EDMX不支持模板