我有以下代码 - truck_mng是一条记录,作为我需要更新的数据:
public ActionResult Edit(Truck_Mng truck_mng)
{
if (ModelState.IsValid)
{
DataContext.SubmitChanges();
return RedirectToAction("Index");
}
return RedirectToAction("index");
}
记录未更新。任何的想法?该表有一个主键。
答案 0 :(得分:2)
我猜Truck_Mng是你DataContext的实体类吗?
您必须首先将实体附加到DataContext,因为MVC框架的模型绑定器只是创建该类的新实例,以将表单数据传递给您的操作。
通过将第二个参数设置为true
,您可以告诉L2S该实体处于已修改状态,但仅当您有一个时间戳成员对您的实体进行版本检查时才有效。
最简单的方法是以未经修改的方式附加,然后调用Refresh
。这样,L2S会检查修改,您可以保存更改的内容:
DataContext.Truck_Mng.Attach(truck_mng);
DataContext.Refresh(RefreshMode.KeepCurrentValues, truck_mng);
DataContext.SubmitChanges();