我从db表Enum
创建了一个新的Role
类,其中包含RoleId
和RoleType
。
public enum UserType
{
Student = 1,
Teacher = 4
Admin = 5
}
这里1,4,5是db的RoleId(主键)。我所做的是我手动查看每个角色的db主键值,并将其映射到enum
。
这里的缺点是每次我需要在db enum
更改时更新RoleId
类。
是否有其他标准做法将db值映射为enum
个集合?
任何建议都会有所帮助
答案 0 :(得分:3)
最近,我一直面临同样的问题。 其中一种可能的解决方案是使用T4模板(代码生成)。 您可以实现一些自定义逻辑来选择表和描述/值列。 像这样的东西
//Start write enum file:
#>
namespace <#=enumNameSpace#>
{
public enum <#=enumName#>Enum
{
<#
command.CommandText = string.Format("SELECT * FROM {0}",TABLE_NAME_GOES_HERE);
var columnReader = command.ExecuteReader();
while (columnReader.Read())
{#>
<#=columnReader[DESCRIPTION_COLUMN_NAME].ToString()#> = <#=columnReader[VALUE_COLUMN_NAME].ToString()#>,
<#
}#>
}
}
<#
您可以在这个伟大的article
中阅读更多内容