我有一个带有一堆值的枚举(此处仅显示三个):
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()即可将枚举名称作为字符串值获取。