我的应用程序有这个代码
var result = await db.ContentTypes
.Select(e => new
{
Id = e.ContentTypeId,
Name = e.Name
})
.AsNoTracking()
.ToListAsync();
它从SQL Server表中获取数据,并创建具有Id
和Name
的对象列表。这很好用,我用它从许多表中获取引用数据。
然而,有一个数据集合存储在枚举中:
public enum ERole {
Super = 0,
Admin = 1,
....
Guest = 8
}
我知道我可以硬编码一个解决方案,但不需要两个包含角色信息的硬编码结构。
如何从枚举中获取数据,并将其放入具有Id和名称的列表中,就像处理内容类型一样?
如果我没有弄错,你想要这样的东西:
Enum.GetValues(typeof(ERole))
.Cast<ERole>()
.Select(x => new { Id = (int)x, Name = x.ToString() })
.ToList();