我的数据库中有一个表,它有两列ID和一个var char Role。我知道id 99将与Admin状态相关,但我不想对此值进行硬编码。到目前为止,有人建议调查Enums来做到这一点,我看到的所有例子对我来说都没有意义,而且它们似乎没有硬编码值好。
enum Role
{
Admin= 99,
Commoner= 1,
Pleb= 3,
King= 5
}
有没有办法具体化这种关系,以便例如如果有人错误地将管理员ID作为9999播放,我的应用程序可以处理此关系并按预期工作。
我知道我可以尝试像
这样的东西Admin = dataContext.Set<Role>().First(x => x.Name == "Admin");
但我想知道是否有正确的方法来做到这一点?或者有没有人这样做过?
答案 0 :(得分:0)
您可以在应用程序启动时加载这些值并将其保存在字典中
var roles = new Dictionary<int, Role>():
我猜这些ID在应用程序运行时不应该更改,所以一旦你加载了它,就可以在字典中查找,如
var roleForId = roles[id];
var idForAdmin = roles.FirstOrDefault(x => x.Value == Role.Admin).Key;
这就是你追求的目标吗?