title: ChangepasswordAsync not work
body: <p>I used this code for admin panel to changed password of customer by manager,I did not get any Error. but password not changed, 
  i got my coed from <a href="https://stackoverflow.com/questions/29291366/asp-net-identity-change-password">this</a> </p>
  
  <pre><code> [HttpPost]
      [ValidateAntiForgeryToken]
      public virtual  ActionResult ChangeUserPassword(SetPasswordViewModel model,string userId)
      {
          if (ModelState.IsValid)
          {
              //var result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword);
              ApplicationUser appUser = db.Users.Find(userId);
              var result =  UserManager.ChangePasswordAsync(appUser, model.NewPassword);
             if (result.IsCompleted)
              {
                  var user =  UserManager.FindById(User.Identity.GetUserId());
                  //var user = db.Users.Find(userId);
                  if (user != null)
                  {
                      //await SignInManager&lt;,&gt;.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                  }
                  return RedirectToAction("Index", new { Message = ManageController.ManageMessageId.SetPasswordSuccess });
              }
              // AddErrors(result);
          }
  
          // If we got this far, something failed, redisplay form
          return View(model);
      }
  
  }
  </code></pre>
  
  <p>and in controller for change use this</p>
  
  <pre><code> public async Task&lt;IdentityResult&gt; ChangePasswordAsync(ApplicationUser Appuser, string newPassword)
      {
          var store = this.Store as Microsoft.AspNet.Identity.IUserPasswordStore&lt;ApplicationUser,string&gt;;
          if (store == null)
          {
              var errors = new string[]
              {
              "Current UserStore doesn't implement IUserPasswordStore"
              };
              return IdentityResult.Failed(errors);
              // return Task.FromResult(new IdentityResult(errors) { Succeeded = false });
  
          }
  
          var newPasswordHash = this.PasswordHasher.HashPassword(newPassword);
  
          await store.SetPasswordHashAsync(Appuser, newPasswordHash);
          await store.UpdateAsync(Appuser);
  
          //return await Task.FromResult&lt;IdentityResult&gt;(IdentityResult.Success);
          return IdentityResult.Success;
      }
  }
  </code></pre>
  
  <p>whats my mistake?</p>
  
  <p>after update answer i use this method instead </p>
  
  <pre><code> [HttpPost]
      public async Task&lt;IdentityResult&gt; ChangePasswordAsync(ApplicationUser appuserId, string newPassword)
      {
          ApplicationDbContext db = new ApplicationDbContext();
          //var userr =await db.Users.FirstOrDefaultAsync(x =&gt; x.Id == appuserId.Id);
  
          var newPasswordHash = this.PasswordHasher.HashPassword(newPassword);
  
          db.Entry(Users).State = EntityState.Modified;
          if (appuserId != null) appuserId.PasswordHash = newPasswordHash;
          db.SaveChanges();
          return IdentityResult.Success;
      }
  </code></pre>
  
  <p>but had the same problem again </p>
  
  <p>in IdentityModels.cs i had</p>
  
  <pre><code> public DbSet&lt;CommonAction&gt; CommonActions { get; set; }
      public DbSet&lt;PublicContent&gt; PublicContents { get; set; }
      public DbSet&lt;MainSubject&gt; MainSubjects { get; set; }
      public DbSet&lt;EducationLevel&gt; EducationLevels { get; set; }
      public DbSet&lt;TimePeriod&gt; TimePeriods { get; set; }
      public DbSet&lt;HelpType&gt; HelpTypes { get; set; }
      public DbSet&lt;FinancialSupport&gt; FinancialSupports { get; set; }
      public DbSet&lt;LinksStatistic&gt; LinksStatistics { get; set; }
      public DbSet&lt;SlideOfCommonAction&gt; SlideOfCommonActions { get; set; }
  </code></pre>
  
  <p>in normal model IdentityModel User is not register as DbSet 
  ()</p>