加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何使用EF仅更新单个字段

发布时间:2020-12-15 23:58:15 所属栏目:asp.Net 来源:网络整理
导读:这是当前的基本代码: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit(Registration registration) { if (ModelState.IsValid) { db.Entry(registration).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Inde
这是当前的基本代码:
[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit(Registration registration)
    {
        if (ModelState.IsValid)
        {
            db.Entry(registration).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(registration);
    }

我在注册表中有大约15个字段,我怎么只想更新“日期”字段,我在这里收到的对象是“注册”,它只有日期值,但是当前代码更新所有条目,什么我想要的是更新“日期”字段,其值已经在“注册”中获得

帮助将不胜感激:)

解决方法

将其附加到Unchanged状态的上下文中,并仅将Date设置为modified.
if (ModelState.IsValid)
{
    db.Registrations.Attach(registration); // attach in the Unchanged state
    db.Entry(registration).Property(r => r.Date).IsModified = true;
    // Date field is set to Modified (entity is now Modified as well)
    db.SaveChanges();
    return RedirectToAction("Index");
}

你说传入的实体只有日期填写,希望也有一个Id.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读