我正在按照我的老师建议的本教程来理解角色的工作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();
}
答案 0 :(得分:1)
我认为问题出在var context = new ApplicationDbContext()
上。 C#期望默认值为“编译时常量”,其中包括数字和字符串文字等内容,并排除类的新实例或从方法调用返回。我能想到的最简单的方法就是用ApplicationDbContext context = null
替换参数(null可以是默认值,因为它是编译时常量)并将行添加到方法体{ {1}}