你好我嘗試更新操作,但在更新它顯示接近分貝的錯誤。保存更改()。「PRIMARY KEY約束‘PK__UserRights__0155B971’。違反無法插入對象‘dbo.UserRights’重複鍵。錯誤
其示出了誤差提下面
類型「System.Data.Entity.Infrastructure.DbUpdateException」的一個例外發生在EntityFramework.dll但在用戶代碼
所以我在內部異常搜索沒有處理它顯示下面提到的錯誤:
「違反PRIMARY KEY約束'PK__UserRights__0155B971'。 。不能插入對象 'dbo.UserRights' 重複鍵\ r \ n此語句已終止「}
我的控制器代碼
public ActionResult UsetBasedAuthenticationEditSave(UserAuthenticationViewModel objuavm)
{
ViewBag.UserID = new SelectList(db.UserDetails, "UserID", "UserName", objuavm.UserID);
ViewBag.ModuleID = new SelectList(db.UserModules, "ModuleID", "ModuleName", objuavm.ModuleID);
ViewBag.SubModule = new SelectList(db.UserModules, "SubModule", "SubModule", objuavm.SubModule);
var objuserrightsresult = db.UserRights.Find(objuavm.UserRitsID);
if(objuserrightsresult!=null)
{
objuserrightsresult.UserID = objuavm.UserID;
objuserrightsresult. ModuleID = objuavm.ModuleID;
objuserrightsresult. Toview = Convert.ToBoolean(objuavm.Toview);
objuserrightsresult. ToAdd = Convert.ToBoolean(objuavm.ToAdd);
objuserrightsresult. ToEdit = Convert.ToBoolean(objuavm.ToEdit);
objuserrightsresult. ToDelete = Convert.ToBoolean(objuavm.ToDelete);
objuserrightsresult.IsActive = Convert.ToBoolean(objuavm.IsActive);
objuserrightsresult.IsDeleted = Convert.ToBoolean(objuavm.IsDeleted);
objuserrightsresult. EditedDate = DateTime.Now;
objuserrightsresult. LastActiveOn = DateTime.Now;
objuserrightsresult. RowID = Guid.NewGuid();
objuserrightsresult. CreatedSeesionID = Guid.NewGuid();
objuserrightsresult. EditedSessionID = Guid.NewGuid();
objuserrightsresult. OfflineMode = false;
objuserrightsresult.OfflineID = Guid.NewGuid();
objuserrightsresult.SubModule = objuavm.SubModule;
db.UserRights.Add(objuserrightsresult);
}
db.SaveChanges();
return RedirectToAction("UserBasedAuthenticationIndex");
}
您添加一個現有的實體,你只需要更新它(刪除行'db.Use rRights.Add(objuserrightsresult);') –
ok stephen讓我試試 – Susan
Stephen的工作可以讓你解釋我做了什麼錯誤 – Susan