保存用戶對數據庫的更改(如更改人員姓名)存在問題。我正在使用在使用個人身份驗證的新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)。 –