如何将角色插入预生成的 ASP.NET 数据库
How to insert Roles into pre-generated ASP.NET database
我正在开发一个使用 ASP.NET MVC 和 Visual Studio 2015 的项目。我们正在使用 Visual Studio 附带的预生成数据库(我添加了其他 tables,但这与此无关。)我正在为我想定义为 "Expert" 的角色创建一个注册页面。我需要 AspNetRole table 来拥有这个角色。如果我直接进入并直接将其输入到数据库中,我的其他项目成员将不会获得此信息。我一直在寻找这个,但我得到的只是如何为真正创建新角色的管理员创建一个页面。我不要那个。我了解如何将用户设置为角色,但我需要先在我的数据库中创建该角色。它是在我的 startup.cs 文件中的东西吗?我确定如何或在何处执行此操作。任何其他信息也会有所帮助,因为我是与 roles.Thank 你一起工作的新手。
我在类似情况下所做的是检查 table 中是否存在该角色,如果不存在,则添加:
var context = new DatabaseContext();
if(!context.AspNetRoles.any(x=>x.role.equals("roleName"))){context.AspNetRoles.Add(new AspNetRoles{Role="roleName"}); context.SaveChanges();}
//Follow the normal process, in that case now is created
您可以在 startup.cs
中使用它。
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
CreateRoles();
}
private void CreateRoles()
{
ApplicationDbContext _context = new ApplicationDbContext();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(_context));
// creating Creating Expertrole
if (!roleManager.RoleExists("Expert"))
{
var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
role.Name = "Expert";
roleManager.Create(role);
}
}
我正在开发一个使用 ASP.NET MVC 和 Visual Studio 2015 的项目。我们正在使用 Visual Studio 附带的预生成数据库(我添加了其他 tables,但这与此无关。)我正在为我想定义为 "Expert" 的角色创建一个注册页面。我需要 AspNetRole table 来拥有这个角色。如果我直接进入并直接将其输入到数据库中,我的其他项目成员将不会获得此信息。我一直在寻找这个,但我得到的只是如何为真正创建新角色的管理员创建一个页面。我不要那个。我了解如何将用户设置为角色,但我需要先在我的数据库中创建该角色。它是在我的 startup.cs 文件中的东西吗?我确定如何或在何处执行此操作。任何其他信息也会有所帮助,因为我是与 roles.Thank 你一起工作的新手。
我在类似情况下所做的是检查 table 中是否存在该角色,如果不存在,则添加:
var context = new DatabaseContext();
if(!context.AspNetRoles.any(x=>x.role.equals("roleName"))){context.AspNetRoles.Add(new AspNetRoles{Role="roleName"}); context.SaveChanges();}
//Follow the normal process, in that case now is created
您可以在 startup.cs
中使用它。
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
CreateRoles();
}
private void CreateRoles()
{
ApplicationDbContext _context = new ApplicationDbContext();
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(_context));
// creating Creating Expertrole
if (!roleManager.RoleExists("Expert"))
{
var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
role.Name = "Expert";
roleManager.Create(role);
}
}