2016-12-29 74 views
-1

我有一个简单的MVC 5应用程序,在我的控制器中,我想知道如何在调用db.SaveChanges()之前从数据库访问当前数据。我有以下代码:如何在ASP.NET MVC中更新旧实体值

// GET: 
public ActionResult Edit(int id) 
{ 
    Product product = db.Products.Find(id); 
    return View(product); 
} 

// POST: 
[HttpPost] 
public ActionResult Edit([Bind(Include = "id,title,content,price)] Product product) 
{ 
    /* How to access old value from database here? */ 

    db.Entry(product).State = EntityState.Modified; 
    db.SaveChanges(); 
} 

如果我做product.title它获取新的价值,我想之前保存访问旧的价值。

我尝试了以下链接中的接受答案:How to access old entity value in ASP.NET Entity Framework但它不适用于我。

回答

0

你可以这样做:

// POST: 
[HttpPost] 
public ActionResult Edit([Bind(Include = "id,title,content,price)] Product product) 
{ 
    var original_data = db.Products.AsNoTracking().Where(P => P.id == product.id).FirstOrDefault(); 

    /* Use original_data.title here */ 

    db.Entry(product).State = EntityState.Modified; 
    db.SaveChanges(); 
} 
相关问题