角色问题

时间:2016-04-11 19:33:49

标签: c# asp.net-mvc asp.net-mvc-4

我正在按照我的老师建议的本教程来理解角色的工作Roles

问题是我一步一步地做了所有事情但是在最后一步我无法使它工作,因为它说:Default parameter 'value' for context must be a compile time constant我尝试了一切,我不知道为什么它不起作用。如果有人能提出解决方案,我会非常感激。

家庭控制器

using (var context = new ApplicationDbContext())
{
    var roleStore = new RoleStore<IdentityRole>(context);
    var roleManager = new RoleManager<IdentityRole>(roleStore);

    roleManager.Create(new IdentityRole("Admin"));

    var userStore = new UserStore<ApplicationUser>(context);
    var userManager = new UserManager<ApplicationUser>(userStore);

    var user = userManager.FindByEmail("my.email@somewhere.com");
    userManager.AddToRole(user.Id, "Admin");
    context.SaveChanges();
}

1 个答案:

答案 0 :(得分:1)

我认为问题出在var context = new ApplicationDbContext()上。 C#期望默认值为“编译时常量”,其中包括数字和字符串文字等内容,并排除类的新实例或从方法调用返回。我能想到的最简单的方法就是用ApplicationDbContext context = null替换参数(null可以是默认值,因为它是编译时常量)并将行添加到方法体{ {1}}