Map string column in Entity Framework to Enum

前端 未结 8 1176
被撕碎了的回忆
被撕碎了的回忆 2021-02-18 13:46

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.

8条回答
  •  佛祖请我去吃肉
    2021-02-18 14:21

    If you want to map the enum value to another correspondent string (ex. abbreviation) you can use this approach:

    public class MinhaClasse
    {
        public string CodTipoCampo { get; set; }
    
        [NotMapped]
        public TipoDado TipoCampo
        {
            get => DictValorTipoDado.SingleOrDefault(e => e.Value == CodTipoCampo).Key;
            set => CodTipoCampo = DictValorTipoDado[value];
        }
    
        private Dictionary DictValorTipoDado = new Dictionary()
        {
            { TipoDado.Texto, "T" },
            { TipoDado.Numerico, "N" },
            { TipoDado.Data, "D" }
        };
    
        public enum TipoDado { Texto, Numero, Data }
    }
    

提交回复
热议问题