0
爲了表示在EDMX枚舉我使用的包裝:模板對象作爲POCO
這是枚舉:
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表示 - 是否有可能?
你沒錯 - 這裏是解決方案:http://stackoverflow.com/questions/5300776/ef-4-0-generics-based-inheritance/5303314#5303314 – Naor 2011-04-21 11:57:49