我尝试实施解决方案found here,但是一旦我更换了我的"用户"使用" EditUserViewModel" class(字段少于Users类的字段)和一旦到达此行
db.Entry(users).State = EntityState.Modified;
在此代码中
[HttpPost]
public ActionResult Edit(EditUserViewModel users)
{
if (ModelState.IsValid)
{
db.Entry(users).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(users);
}
我收到错误
The entity type EditUserViewModel is not part of the model for the current context.
现在我猜这个错误是因为我的DBContext使用Users类而不是EditUserViewModel类。我错过了一步还是有办法解决这个问题?
答案 0 :(得分:1)
您需要将MV中的数据合并到Model类中。
if (ModelState.IsValid)
{
var existingUser = db.Users.Single(p => /* query to find your user */);
existingUser.From = user.From;
existingUser.CC = user.CC;
// etc.
db.SaveChanges();
return RedirectToAction("Index");
}