如何在ASP.NET MVC 5 Web应用程序的Seed方法中通过UserManager创建ApplicationUser

Yod*_*oda 13 .net c# seed asp.net-identity asp.net-mvc-5.1

我可以用旧方式创建用户:

 var users = new List<ApplicationUser> { 
                        new ApplicationUser{PasswordHash = hasher.HashPassword("TestPass44!"), Email = "informatyka4444@wp.pl", UserName = "informatyka4444@wp.pl",  SecurityStamp = Guid.NewGuid().ToString()},
                        new ApplicationUser{PasswordHash = hasher.HashPassword("TestPass44!"), Email = "informatyka4445@wp.pl", UserName = "informatyka4445@wp.pl",  SecurityStamp = Guid.NewGuid().ToString()}
                        };

users.ForEach(user => context.Users.AddOrUpdate(user));

context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但我想用ASP.NET MVC 5.1的方式来做UserManager.我偷看了RegisterPOST方法的样子AccountController:

 public async Task<ActionResult> Register(RegisterViewModel model) {
            if (ModelState.IsValid) {
                var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
                IdentityResult result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded) { [...]
Run Code Online (Sandbox Code Playgroud)

所以我试着这样做:

var user =  new ApplicationUser() { Email = "informatyka4444@wp.pl", 
                                    UserName = "informatyka4444@wp.pl"};
IdentityResult result =  UserManager.CreateAsync(user, "abcwq12312!P");
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个:

在此输入图像描述

如果我只是键入UserManager.VS2013,则不会在列表中显示任何方法.

那么如何以这种方式添加用户呢?

EDIT1:

在此输入图像描述

Yod*_*oda 14

好的,创建用户CreateAsync是不必要的,问题出在其他地方.每个人都应该使用ApplicationUserManager没有UserManager(这一次没有添加任何数据库).

 var store = new UserStore<ApplicationUser>(context);
 var manager =  new ApplicationUserManager(store);
 var user = new ApplicationUser() { Email = "informatyka4444@wp.pl", UserName = "informatyka4444@wp.pl" };
 manager.Create(user, "TestPass44!");
Run Code Online (Sandbox Code Playgroud)