早安|晚上
我有这个代码用于更新控制器中的记录
[HttpPost]
public JsonResult Userupdate(UserProfile user)
{
try
{
if (!ModelState.IsValid)
{
return Json(new
{
Result = "ERROR",
Message = "Form is not valid! " +
"Please correct it and try again."
});
}
var usersC = from x in _db.UserProfiles where x.UserId == user.UserId select x;
//int studentCount = usersC.Count();
//List<UserProfile> students = usersC.ToList();
UserProfile vb = new UserProfile();
vb.UserId = user.UserId;
vb.UserName = user.UserName;
vb.IdentificationNumber = user.IdentificationNumber;
vb.department = user.department;
//_db.UserProfiles.Add(vb);
_db.SaveChanges();
return Json(new { Result = "OK"});
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
我有这个代码用于删除控制器中的记录
[HttpPost]
public JsonResult userdelete(int userId)
{
try
{
//_personRepository.DeletePerson(personId);
return Json(new { Result = "OK" });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
你在评论中看到“存储库”,因为我没有在我的项目中使用它;我使用了链接方法。
我编写以下代码来连接数据库
UsersContext _db = new UsersContext();
但是我没有从数据库中删除它的正确方法。
注:::我正在使用jTable来显示数据。
你能帮助我吗?_)答案 0 :(得分:1)
这是使用实体框架吗? 不幸的是,这在EF中不能像编写服务或MVC api时那样工作。也就是说,只传递id。
EF只能在上下文中加载后删除实体。这意味着要么检索实体然后删除它,要么创建一个“shell”实体,附加它,然后执行删除。 (删除方法的替代方法是附加它,然后将其状态设置为已删除,然后执行SaveChanges。这与引擎盖下的内容相同)
var userEntity = new UserProfile {UserId = userId};
_db.Users.Attach(userEntity);
_db.Users.Remove(userEntity);
_db.SaveChanges();
答案 1 :(得分:0)
当你迅速解决问题时,那很好:)
是的我用“Jim Leonardo”的帮助解决了我的问题。
非常感谢Jim Leonardo先生。
以下代码用于更新记录,并且工作正常。
[HttpPost]
public JsonResult Userupdate(UserProfile user)
{
try
{
if (!ModelState.IsValid)
{
return Json(new
{
Result = "ERROR",
Message = "Form is not valid! " +
"Please correct it and try again."
});
}
var usersC = from x in _db.UserProfiles where x.UserId == user.UserId select x;
var UserToUpdate = usersC.First();
UserToUpdate.UserId = user.UserId;
UserToUpdate.UserName = user.UserName;
UserToUpdate.IdentificationNumber = user.IdentificationNumber;
UserToUpdate.department = user.department;
_db.SaveChanges();
return Json(new { Result = "OK"});
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
以下代码用于删除记录;它工作正常。
[HttpPost]
public JsonResult userdelete(UserProfile user, int userId)
{
try
{
var usersC = from x in _db.UserProfiles where x.UserId == user.UserId select x;
var UserToUpdate = usersC.First();
UserToUpdate.UserId = user.UserId;
UserToUpdate.UserName = user.UserName;
UserToUpdate.IdentificationNumber = user.IdentificationNumber;
UserToUpdate.department = user.department;
_db.UserProfiles.Remove(UserToUpdate);
_db.SaveChanges();
return Json(new { Result = "OK" });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
再次感谢Jim Leonardo先生
问题已解决:)