Is there a way to map a string column to an enum in an Entity Model?
I have done this in Hibernate, but can't figure it out in EMF.
Probably a nicer version.
OrderStateIdentifier field is used for both JSON serialization and database field, while OrderState is only used in the code for convenience.
public string OrderStateIdentifier { get { return OrderState.ToString(); } set { OrderState = value.ToEnum<OrderState>(); } } [NotMapped] [JsonIgnore] public OrderState OrderState { get; set; } public static class EnumHelper { /// <summary> /// Converts string to enum value (opposite to Enum.ToString()). /// </summary> /// <typeparam name="T">Type of the enum to convert the string into.</typeparam> /// <param name="s">string to convert to enum value.</param> public static T ToEnum<T>(this string s) where T: struct { T newValue; return Enum.TryParse(s, out newValue) ? newValue : default(T); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With