2011-12-20 2 views
-3

У меня есть что-то вроде следующего кода, который вы видите ниже в качестве шаблона. Каковы различные способы сделать обновление с этой записью, так как я делаю это ниже, не работает. Я использую Entity Framework. В качестве языка используется C#.MVC C# Обновить запись

public ActionResult Edit(Truck_Mng truck_mng) 
{ 
     if (ModelState.IsValid) 
     { 

     // what are the different ways you can update the truck_mng record 
     // I tried what you see below but did not update the record 

     DataContext.Truck_Mng.Attach(truck_mng); 
     DataContext.SubmitChanges(); 

     return RedirectToAction("Index"); 
     } 
return RedirectToAction("index"); 
} 

Я использую Entity Framework.

+1

Вы используете Entity Framework, Linq2Sql, DataSets? Вам нужно предоставить дополнительную информацию. –

ответ

0

Если Truck_Mng класс генерируется из таблицы в базе данных вы можете сделать следующее:

[HttpPost] 
    public ActionResult Edit(Truck_Mng truck_mng) 
    { 

     if (!ModelState.IsValid) 
     { 
      //Possible show an error message 
     } 

     using (var context = new MyDataContext()) 
     { 
      context.Truck_Mng.AddObject(truck_mng); 
      context.SaveChanges(); 
     } 

     return RedirectToAction("index"); 
    } 

Если Truck_Mng случается модель, которую вы сделали, то вам придется вручную сопоставить его с правильным таблица такая:

[HttpPost] 
    public ActionResult Edit(Truck_Mng truck_mng) 
    { 

     if (!ModelState.IsValid) 
     { 
      //Possible show an error message 
     } 

     using (var context = new MyDataContext()) 
     { 
      context.SomeTable.AddObject(new SomeTable 
              { 
               TruckName = truck_mng.Name, 
               TruckDest = truck_mng.Dest 
              }); 
      context.SaveChanges(); 
     } 

     return RedirectToAction("index"); 
    } 

Надеюсь, это имеет смысл.

+0

Знаете ли вы, как заставить его работать с SubmitChanges(), как в моем случае, SaveChanges не работает –

+0

'SubmitChanges()' относится к LINQ to SQL и 'SaveChanges()' является Entity Framework. Если вы используете EF, а SaveChanges не работает, может возникнуть другая проблема. –

Смежные вопросы