我有许多用户权限,这些权限在我的 ASP.NET 应用程序中经过测试。这些权限值在枚举中引用,这样我就可以像这样方便地测试权限:
- btnCreate.Enabled = PermissionManager.TestPermission(Permission.AllowCreate);
但是,我也将这些权限存储在数据库中,因为我需要保存有关它们的更多信息,而不仅仅是它们的 ID。但这在枚举值和数据库中的值之间产生了可怕的依赖性,对任何一个的更改都经过深思熟虑,我在整个应用程序中都遇到了问题。有没有更好的方法解决这个问题?以前有人处理过这个问题吗?
最佳答案
我不知道最好的解决方案是什么,我想听听。 我们的解决方案是像这样显式键入枚举
public enum MyEnum : int
{
None =0,
Value = 1,
AnotherValue =2
}
并将整数值保存到数据库中。例如,当值 1 被删除时,您仍然可以使用枚举,而 AnotherValue 在数据库中仍然具有值 2。
关于c# - 如何避免代码中枚举值与数据库中相应值之间的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/292378/