我有一個名爲Authorization
與CodeFirstRoleProvider
類從默認RoleProvider
MVC4:在數據庫中添加角色
public class CodeFirstRoleProvider : RoleProvider
{
public override void CreateRole(string roleName)
{
if(string.IsNullOrEmpty(roleName)) return;
using(var context = new SISContext())
{
var role = context.Roles.SingleOrDefault(rl => rl.RoleName == roleName);//Roles table exists in database
if(role == null)
{
var newRole = new Role
{
RoleId = Guid.NewGuid(),
RoleName = roleName
};
context.Roles.Add(newRole);
context.SaveChanges();
}
}
}
}
繼承了我的其他項目WebPortal
我想用上述方法的項目讓我們說下面的方式
var _role = new CodeFirstRoleProvider();
_role.CreateRole("Admin");
_role.CreateRole("NonAdmin");
現在我需要把這段代碼放在我的webportal
的哪裏?以便這些角色在應用程序運行時第一次被添加到數據庫中。
假設這個程序第一次運行,有人點擊註冊按鈕我想有一個提到上述角色的下拉列表。所以,這些角色需要在點擊註冊之前在數據庫中。
一旦角色在數據庫中,我不需要擔心將來訪問這些值。 一種方法是手動將值寫入數據庫,但我不想這樣做,因爲我有這個功能可以使用。
什麼是CodeFirstRoleProvider()? – msysmilu