从绑定中删除表单参数

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;