我有一个带有一堆值的枚举(此处仅显示三个):

public enum LookupType
{
   Alignment,
   Language,
   ReEmbedBehavior
}


然后,我有一个方法可基于名为LookupType的varchar字段获取数据...我想要的是将此方法的调用者限制为仅数据库中的lookuptypes ...因此在WHERE子句的结尾,我想要枚举名称为字符串,而不是整数值。

然后,调用者将执行类似GetLookupsByLookupType(LookupType.Language)的操作,而我的方法将以“ where lookuptype ='Language'”进行调用

public List<Lookup> GetLookupsByLookupType(UnicornMedia.Core.DomainModel.Enumerations.LookupType lookupType)
        {
            var lookups = new List<Lookup>();
            string SQL = String.Format(@"Select id, name, value, lookuptype
                                         from lookups
                                         where lookuptype = '{0}'", lookupType.ToString());

            ...<snip>...
        }


这可能很简单,但是我似乎不时碰到这个问题,而不是搞清楚了,我最终只是使用了Dictionary ...无论如何,确实如此,谢谢

最佳答案

只需执行.ToString()即可将枚举名称作为字符串值获取。

10-08 14:49