ASP.NET 5(MVC6)如何为用户播种

Dan*_*elC 4 asp.net-core-mvc asp.net-core

你会如何播种用户?我在这里关注他们的文档,但他们只展示了如何为ApplicationDbContext直接插入的数据设定种子.

在帐户控制器中,UserManager通过DI创建.如何在Seed方法中实例化UserManager?

 public class SeedData
{
    public static void Initialize(IServiceProvider serviceProvider)
    {
        var context = serviceProvider.GetService<ApplicationDbContext>();
        var userManager = serviceProvider.GetService<UserManager<ApplicationUser>>();
Run Code Online (Sandbox Code Playgroud)

然后在Configure方法的Startup.cs中:

SeedData.Initialize(app.ApplicationServices);
Run Code Online (Sandbox Code Playgroud)

Syn*_*der 5

在configure方法的startup.cs中,您可以添加以下代码以获取UserManager,并从那里为用户播种.

var userManager = app.ApplicationServices.GetService<UserManager<ApplicationUser>>();
Run Code Online (Sandbox Code Playgroud)