繁体   English   中英

如何通过ID更新单个数据库记录

[英]How update an individual database record by ID

我一直在阅读《 ASP.Net MVC C#电影数据库》教程,但是一直在尝试进行一些小的更改以帮助了解哪些内容可以做什么。 我会补充说,我是一个初学者。

我有一个带有小型表单和按钮的页面,当我填写表单并单击提交表单中的数据时,将更新数据库表中的预定记录。

在控制器代码中如何指定单个记录? 假设该表中将永远只包含一个记录,该记录将通过新信息定期更新?

我想这与代码中的这两行有关:

            db.Entry(data).State = EntityState.Modified;
            db.SaveChanges();

我只是不确定如何单独指定记录,以便对其进行更新? 该记录将具有一个ID号(例如,该ID将为“ 1”)。

按原样进行更新的代码:

// POST: /Data/Update/

    [HttpPost]
    public ActionResult Update(Data data)
    {
        if (ModelState.IsValid)
        {
            db.Entry(data).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(data);
    }

EF需要知道要更新数据库中的哪一行。 如果未从请求绑定“ ID”属性,则需要在代码中显式设置它:

    if (ModelState.IsValid)
    {
        data.Id = 1; //EF need to know which row to update in the database.
        db.Entry(data).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM