更新模型的一部分

时间:2012-04-11 16:46:40

标签: entity-framework entity-framework-4

我有一个包含5个属性的模型类,但视图中只显示了3个属性。 当我调用create action时,我需要更新这个3 !!

我正在尝试这个:

[HttpPost]
public ActionResult Create([Bind(Exclude = "Id")]Location location) 
{
     if (ModelState.IsValid) 
        {
            db.Location.Add(location);

            bool car_in_database = db.Car.Any(c => c.Id == location.Car.Id);
            if (car_in_database)
            {
                db.Entry(location.Car).State = EntityState.Modified;
                db.Entry(location.Car).Property(l => l.ClientId).IsModified = false;
            }

            db.SaveChanges();  

            return RedirectToAction("Index");
        }

但它不起作用..任何人都知道为什么或我必须做什么?

1 个答案:

答案 0 :(得分:0)

Only .NET 4.5 and EF 5.0 support unmarking property as not modified因此,如果您使用的是.NET 4.0,则不得将实体状态设置为已修改。相反,您必须使用IsModified = true

手动设置要修改的每个属性