mvc中使用EF更新

直接new一个,然后设置值,而不要从库中查。

Attach,然后改变状态,最后save。(Attach之后状态会变成unchanged所以要手动更改状态,详情请看“在不同的ObjectContext中更新数据”)

[HttpPost]

public ActionResult Edit(int id, FormCollection collection)

{

    if (ModelState.IsValid)

    {

        admins admins = new admins();

        UpdateModel(admins);                

        db.admins.Attach(admins);

        db.ObjectStateManager.ChangeObjectState(admins, EntityState.Modified);

        db.SaveChanges();                

    }

    return RedirectToAction("Index");

}

这里必须使用具体的db.xxx.Attach

不能直接使用db.Attach

否则报错

image

你可能感兴趣的:(mvc)