Asp.net mvc 4 在POST操作方法-MVC4中未更新数据库

Asp.net mvc 4 在POST操作方法-MVC4中未更新数据库,asp.net-mvc-4,Asp.net Mvc 4,我有一个编辑操作方法,它应该更新数据库,但没有这样做。这就是: [HttpPost] public ActionResult Edit(ICollection<Photography> photos) { VMEntities db = new VMEntities(); if (TryUpdateModel(photos, null, new[] { "isDeleted", "caption" })) {

我有一个编辑操作方法,它应该更新数据库,但没有这样做。这就是:

    [HttpPost]
    public ActionResult Edit(ICollection<Photography> photos)
    {
        VMEntities db = new VMEntities();
        if (TryUpdateModel(photos, null, new[] { "isDeleted", "caption" }))
        {
            db.SaveChanges();
            return RedirectToAction("ViewAll");
        }
        else
        {
            return View();
        }
    }
[HttpPost]
公共行动结果编辑(ICollection照片)
{
VMEntities db=新VMEntities();
if(TryUpdateModel(照片,空,新[]{“isDeleted”,“caption”}))
{
db.SaveChanges();
返回重定向到操作(“ViewAll”);
}
其他的
{
返回视图();
}
}
它接收摄影实体的ICollection,创建上下文对象(VMEntities),然后尝试更新模型(仅包括属性)。它之所以成功,是因为代码跨入if块并转到db.SaveChanges()和return语句。
但是数据库没有得到更新。有人能帮我理解我缺少了什么吗?

尝试更新模型只是从请求对象中的formcollection重新绑定模型。在调用db.savechanges之前,您是否尝试调用Attach将照片集合添加到vmentities中?您刚刚尝试放置此行db.photograms.Attach(photos.First());db.SaveChanges();第一次拍摄时,它不起作用。无论如何谢谢你!