我一直在使用此链接播种我的数据库
现在播种时我也想访问UserManager<ApplicationUser>
和RoleManager<IdentityRole>
。
但是,由于在configure方法中调用了这个,我找不到使用的服务;
var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
var UserManager = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();
我如何访问此注入,以便我可以播种我的角色等?
答案 0 :(得分:3)
为了给你一个提示,我在Startup.cs中使用它。我希望这对你有帮助。
for dlink in links.find("td",{"class": "download-cell"}):
您还需要在DbContext中继承此for dlink in links.find_all("td",{"class": "download-cell"}):
。如下面的示例代码:
// Inside the public void Configure(IApplicationBuilder app)
var scopeFactory = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>();
var scope = scopeFactory.CreateScope();
var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<IdentityRole>>();
new UserRoleSeed(roleManager).Seed(); // Where UserRoleSeeding happens
在您的控制器中实现此功能时,我建议您使用类似于以下代码的依赖注入:
IdentityDbContext<ApplicationUser>