我一直在寻找一个适当的方式来标记一个属性不要改变时,更新模型在 MVC。
例如,让我们以这个小模型为例:
class Model
{
[Key]
public Guid Id {get; set;}
public Guid Token {get; set;}
//... lots of properties here ...
}
然后 MVC 创建的编辑方法看起来像这样:
[HttpPost]
public ActionResult Edit(Model model)
{
if (ModelState.IsValid)
{
db.Entry(model).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(model);
}
现在,如果我的视图不包含令牌,它将通过该编辑失效。
我在找这样的东西:
db.Entry(model).State = EntityState.Modified;
db.Entry(model).Property(x => x.Token).State = PropertyState.Unmodified;
db.SaveChanges();
到目前为止,我发现最好的方法是包含并设置所有我想手工包含的属性,但我真的只想说哪些属性被排除在外。