我的应用程序有此代码
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和Name的列表,就像我对内容类型一样?
答案 0 :(得分:4)
如果我能正确理解你想要的东西:
Enum.GetValues(typeof(ERole))
.Cast<ERole>()
.Select(x => new { Id = (int)x, Name = x.ToString() })
.ToList();