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)