Asp.net mvc 4 如何在MVC4中使用LINQ EF更新数据库

Asp.net mvc 4 如何在MVC4中使用LINQ EF更新数据库,asp.net-mvc-4,entity-framework-5,Asp.net Mvc 4,Entity Framework 5,我试过这个。我没有遇到错误,我试着把断点放在跟踪中,但在数据库中它没有更新。。。有什么问题 SanipexContext db = new SanipexContext(); public ActionResult ProductUpdate() { var exist = from e in db.SGRDetails where e.SGRnumber == sgr && e.product == prodname select

我试过这个。我没有遇到错误,我试着把断点放在跟踪中,但在数据库中它没有更新。。。有什么问题

SanipexContext db = new SanipexContext();
public ActionResult ProductUpdate()
{
var exist = from e in db.SGRDetails
            where e.SGRnumber == sgr && e.product == prodname
            select e;
foreach (var s in exist)
{
    s.percentage = 20;
}
db.SaveChanges();
}

必须使用db上下文附加对象,才能使其在数据库中生效:

foreach (var item in exist)
{
  s.percentage = 20;
  db.Context.SGRDetails.Attach(item )
  DbEntityEntry<SGRDetail> entry = db.Entry(item);
  entry.Property(e => e.percentage).IsModified = true;
}

  db.SaveChanges();
foreach(存在的变量项)
{
s、 百分比=20;
db.Context.SGRDetails.Attach(项)
DbEntityEntry=数据库条目(项目);
entry.Property(e=>e.percentage).IsModified=true;
}
db.SaveChanges();