使用实体框架更新实体,同时忽略某些属性

use*_*817 3 c# entity-framework asp.net-mvc-4

我正在使用asp.net mvc 4.我必须使用编辑方法更新我的持久性存储,但我想忽略一些列.

我在这里找到了一些答案,但他们并没有为我工作(我想).

这是我的方法:

[HttpPost]
public ActionResult Edit(Candidat candidat)
{
    ProcRecDB _db = new ProcRecDB();  //  from DbContext

    if (ModelState.IsValid)
    {

        _db.Entry(candidat).State = EntityState.Modified;
        _db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(candidat);
}
Run Code Online (Sandbox Code Playgroud)

候选人模型有10个属性; 我怎么会忽略其中的一些?

小智 9

如果您使用EF 5,则可以将属性标记为已修改后将其标记为未修改

_db.Entry(candidat).State = EntityState.Modified;
// Ignore changes to the value of SomeProperty
_db.Entry(candidat).Property("SomeProperty").IsModified = false;
_db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)