I have this code to update the email address using Identity framework's UserManager:
UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ApplicationDbContext.Create()));
ApplicationUser user = await UserManager.FindByNameAsync(username);
IdentityResult result = null;
if (user != null)
{
user.Email="foo";
result = await UserManager.UpdateAsync(user);
}
however whenever I try to run it, it throws this error:
System.InvalidOperationException: Attaching an entity of type 'ApplicationUser' failed because another entity of the same type already has the same primary key value. This can happen when using the 'Attach' method or setting the state of an entity to 'Unchanged' or 'Modified' if any entities in the graph have conflicting key values. This may be because some entities are new and have not yet received database-generated key values. In this case use the 'Add' method or the 'Added' entity state to track the graph and then set the state of non-new entities to 'Unchanged' or 'Modified' as appropriate.
For the most part I'm just using out-of-the-box identity framework as it appears in the default MVC template in Visual Studio. No custom user stores or anything. I'm not sure what I'm doing wrong here.