从绑定中删除表单参数
Remove form parameter from binding
我有一个包含一些字段的表单,根据数据的不同,我不想将所有字段都保存到数据库中。
假设我有这个控制器
public ActionResult Edit([Bind(Include = "id,Costumer, City ,Obs")] Clients clients)
{
if (ModelState.IsValid)
db.Entry(clients).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(clients);
}
但有时我不想拯救这座城市。
我怎样才能将城市从保存到数据库中删除?
我试过
ModelState.Remove("City");
但它一直保存到数据库
如果 City 是导航 属性,则类似于:
db.Entry(clients.City).State = EntityState.Unchanged;
如果城市是一个字符串那么
db.Entry(clients).Property("City").IsModified = false;
我有一个包含一些字段的表单,根据数据的不同,我不想将所有字段都保存到数据库中。
假设我有这个控制器
public ActionResult Edit([Bind(Include = "id,Costumer, City ,Obs")] Clients clients)
{
if (ModelState.IsValid)
db.Entry(clients).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(clients);
}
但有时我不想拯救这座城市。
我怎样才能将城市从保存到数据库中删除?
我试过
ModelState.Remove("City");
但它一直保存到数据库
如果 City 是导航 属性,则类似于:
db.Entry(clients.City).State = EntityState.Unchanged;
如果城市是一个字符串那么
db.Entry(clients).Property("City").IsModified = false;