保存用户对数据库的更改(如更改人员姓名)存在问题。我正在使用在使用个人身份验证的新VS2013 Web项目中自动创建的IdentityModel。可悲的是,该模板不允许您更改任何用户信息,而不是更改角色。我通过谷歌环顾四周,我没有找到太多。任何人都使用基本身份代码实现更新?Asp.net Identity 2.0更新用户
这是我发现的最接近的事:
Updating user data - Asp.net Identity
在合并默认模板我都没有成功。本周我刚刚开始使用Identity,所以可能是我缺乏理解,那就是问题所在。
var updatedUser = new ApplicationUser
{
Id = model.UserId,
UserName = model.UserName,
CustomerId = model.CustomerId,
Email = model.EmailAddress,
FirstName = model.FirstName,
LastName = model.LastName,
PhoneNumber = model.PhoneNumber,
};
...
var result = await UserManager.UpdateAsync(updatedUser);
我的UserManager创建这样的:
return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
我得到在浏览器中出现以下错误:
附加类型的实体“ApplicationUser”,因为同类型的其他实体失败已具有相同的主键值。如果图中的任何实体具有冲突的键值,则使用“附加”方法或将实体的状态设置为“未更改”或“已修改”时可能会发生这种情况。这可能是因为一些实体是新的并且还没有收到数据库生成的关键值。在这种情况下使用的“添加”方法或“添加”实体状态追踪图形,然后设置非新实体的状态设置为“未改变”或“修饰的”酌情
由于
如果您确切地提到了您的问题,您可能会有所帮助......您尝试了什么?什么没有用?错误是什么?结果是什么?尽可能具体。 –
在我的操作中,我创建了一个ApplicationUser,并填写了ID和其他字段。然后我打电话: – BCarlson
你可能看看我对[ASP.NET MVC]的回答 - 附加一个'MODELNAME'类型的实体失败,因为另一个相同类型的实体已经具有相同的主键值](http:// stackoverflow的.com /问题/ 23201907/ASP净MVC附着-AN-实体的型MODELNAME失败的 - 因为-另一个-ENT/39557606#39557606)。 –