如何通过将模型附加到DataContext来更新数据库

时间:2011-12-21 11:56:00

标签: asp.net-mvc-3 linq-to-sql

我正在使用MVC 3 Framework构建一个网站。我有一个Linq to SQL DataContext来处理数据访问。根据我所学到的,你可以使用post方法在用户提交表单时获取表单信息和MVC frmaework可以将数据映射到模型对象。 像这样的东西:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(Entity model)

但是我将这个模型对象附加到数据上下文对象有问题,这就是我正在做的事情:

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(Entity model)
    {

        if(ModelState.IsValid)
        {
            _dataContext.Attach(model);
            _dataContext.SubmitChanges();
            return RedirectToAction("Index");
        }
        return View("Edit", model);
    }

但没有任何反应。我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是您的_dataContext不知道您的实体已被更改。 因此,您必须使用修改为true的overload

_dataContext.Attach(model, true);