我的問題是:如何在C#代碼中引用域表的數據庫註冊表?
我在數據庫中有一個域表,其中我爲用戶添加了一些規則。
事情是這樣的:
表的UserRole:
idRule cRuleDescription bRuleIsActive
1 Edit client true
2 Delete client false
我的C#應用程序引用此表的使用枚舉,像這樣:
public enum UserRoles: int
{
CanEditClient = 1,
CanDeleteClient = 2,
CanChangeClientName = 3,
//More code
}
我使用查詢C#方法數據庫通過它的Id來知道登錄的用戶是否有權執行某些操作。像這樣的:
bool HasPermissionToEdit = Rules.UserHasPermisson(UserName, UserRoles.CanEditClient)
if(HasPermissionToEdit)
{
//Do the work!
}
但是使用這會給我一些麻煩。有人在數據庫的製作過程中創建了新的行。而且這些ID不再正確。我需要更改我的C#代碼中的枚舉。我需要使用此表,因爲管理用戶可以管理其他用戶組的規則。
你如何使用它?有一種更好的方式來引用表上的註冊表?
是的。我看到很多開發人員都這麼做。我是他們中的一員。但我認爲這不安全。因爲有人可以更改數據庫,並且地圖會出錯。但我沒有看到其他方式來實現這一點。 – 2012-03-22 19:05:58
您將始終需要映射到某個內容,它可能是它可能是描述的ID或另一個字符串字段。在動態系統(DB)中有一塊數據,而在靜態系統(代碼)中有一塊數據的情況下,您總會遇到問題。映射到整數字段很整潔,因爲您可以將該字段投射到您的枚舉。 – Slugart 2012-03-22 19:08:42