【发布时间】:2012-05-16 09:55:29
【问题描述】:
我有一个数据库,其中包含一个名为“Roles”的表,其中包含“Id”和“RoleName”列。 这些是表中的行:
- GUID1 管理员
- GUID2 系统
- GUID3 技术员
- GUID4正常
“用户”表中的用户可以拥有多个角色。 我想要 LINQ 代码来检查特定用户是否具有“技术员”角色。
这是我现在的代码:
using (MyDbEntities entities = new MyDbEntities())
{
User user = entities.Users.Where(u => u.Id == userIdToFetch).Single();
// Check if user is 'Technician'
if (user.Roles.Any(role => role.Name == "Technician") == true)
{
// user IS technician - do work here
}
}
我的问题是 - 我不想将字符串“Technician”硬编码到我的代码中, 因为也许有一天数据库中的角色名称会更改为“Tech”。
我已经研究过使用“资源”,但这并不好,因为更改资源中的字符串意味着重新编译项目。
我不想在配置文件中添加包含此信息的部分, 因为在我看来这太过分了……
有什么建议吗?
【问题讨论】:
标签: c# configuration settings