如何在数据库中编辑我的记录



我正在尝试在 db 中编辑我的记录,但不知何故我只是添加了另一条记录。我需要在代码中更改什么?

我试图写db.NewsPortals.Update(image);而不是db.NewsPortals.Add(image);但Visual Studio没有认识到这一点。为什么?

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit(int id, NewsPortalViewModel model)
    {
        var validImageTypes = new string[]
        {
         "image/gif",
         "image/jpeg",
         "image/pjpeg",
         "image/png"
        };
        if (ModelState.IsValid)
        {
            var image = db.NewsPortals.Find(id);
            if (image == null)
            {
                return new HttpNotFoundResult();
            }
            image.Id = model.Id;
            image.Title = model.Title;
            image.Description = model.Description;
            if (model.ImageFile != null && model.ImageFile.ContentLength > 0)
            {
                var uploadDir = "~/Image";
                var imagePath = Path.Combine(Server.MapPath(uploadDir), model.ImageFile.FileName);
                var imageUrl = model.ImageFile.FileName;
                model.ImageFile.SaveAs(imagePath);
                image.ImageUrl = imageUrl;
            }
            db.NewsPortals.Add(image);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(model);
    }

如果删除此行,它应该可以工作。

db.NewsPortals.Add(image);

最新更新