1

我正在尝试实现此处找到的解决方案,但是一旦我将“用户”类替换为“EditUserViewModel”类(字段少于用户类的类)并且一旦我到达这一行

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 类。我错过了一个步骤还是有什么办法可以解决这个问题?

4

1 回答 1

1

您需要将数据从您的 MV 合并到您的模型类。

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");
}
于 2012-09-29T04:58:57.647 回答