如何访问 ASP.NET 实体框架中的旧实体值

2024-01-02

我有一个小型 ASP.Net mvc3 应用程序,我正在编辑部分。我有默认模板:

public ActionResult Edit(int id)
{
    User user = db.Users.Find(id); 
    return View(user);
}

public ActionResult Edit(User user)
{
    //(Here access to old user name for example)
    db.Entry(user).State = EntityState.Modified;
    db.SaveChanges();
}

如果我执行 user.name 我有新值,但我想在保存之前访问数据库值。

Thanks !


我用一个小技巧让它工作:

db.Users.Attach(user);
var current = db.Entry(user).CurrentValues.Clone();
db.Entry(user).Reload();
//Do you user(from db) stuff
db.Entry(user).CurrentValues.SetValues(current);
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 ASP.NET 实体框架中的旧实体值 的相关文章

随机推荐