繼續我的previous question,接受的答案完美工作。
不過,我只是想在我的數據庫中的幾個角色,說:將角色映射到靜態值
表:角色
Id | Role
---------------
1 | AccountOwner
2 | AccountAdmin
3 | AccountUser
在提問接受的答案在角色每次創建一個新的行用戶已註冊帳戶。有什麼方法可以請求身份系統使用數據庫中的現有角色?考慮到代碼:
public static async Task<bool> AddAccountAsync(this MyContext context, MyModel model)
{
try
{
Role role = new Role(TrackerRole.Owner);
Account account = new Account(model.AccountCurrency, model.AccountName, model.Description);
UserAccount uc = new UserAccount
{
User = model.User,
Account = account,
Role = role
};
account.UserAccounts.Add(uc);
context.Accounts.Add(account);
await context.SaveChangesAsync();
model.User.UserAccounts.Add(uc);
return true;
}
catch (DbUpdateException ex)
{
// LOG
}
return false;
}
如果可能的話,我想完全刪除,角色類,並用它替換枚舉。
如果您想將其替換爲枚舉,則不再需要角色實體,就像數據庫中的角色表一樣。只要Role屬性的類型爲Role(枚舉),它將作爲一個int持續到數據庫。 但是,如果您需要更新代碼以添加其他未來角色,則會導致設計缺陷。 –
@stefchri所有角色已被考慮在內,因此可能會有效 –