我通常使用edmx's来完成此操作,但这次为了在我的项目中使用级联下拉菜单,我不得不切换到使用linq to sql。如何在mvc中使用linq to sql提交对数据库表的更改
反正这里是我试过
[HttpPost]
public ActionResult Modules(ModuleViewModel mvm, FormCollection fc)
{
AllCourseDetail ACD = _dc.AllCourseDetails.Where(x => x.IdACD == mvm.cd.IdACD).FirstOrDefault();
ACD = mvm.cd;
if (ModelState.IsValid)
{
UpdateModel(mvm);
_dc.AllCourseDetails.Where(w => w.IdACD == mvm.cd.IdACD);
UpdateModel(mvm.cd);
_dc.SubmitChanges();
Session.Add("redirectedEditcompletedsubmission", "yes");
return RedirectToAction("List");
}
else
{
Session.Add("redirectedEditvalidation", "yes");
return RedirectToAction("Index", "Home");
}
}
在第一次我没有if语句上述任何东西,里面我只有的UpdateModel和提交的变化,但无论怎样组合,我尝试它只是没有按不保存。
而且mvm.cd是在视图模型作为CD引用的AllCourseDetail表,我必须使用一个视图模型作为
这行代码是做什么的? '_dc.AllCourseDetails.Where(w => w.IdACD == mvm.cd.IdACD);'它似乎是Linq语句,但输出不分配给任何东西。看看这里:http://stackoverflow.com/a/1427970 – 2012-03-09 16:51:19
@RobertHarvey我试图在那里,以防我可以使用它来确保提交知道它正在进行更改的记录,因为我说我尝试过其中大部分事情我都没有预料到,但为了以防万一,我仍然尝试过。 – Myzifer 2012-03-09 16:56:19
看看我链接的问题。它说明了你正在尝试做什么的一般模式。正如Jakub正确指出的那样,NerdDinner有这类事情的代码示例。看到这里:http://www.asp。net/mvc/tutorials/nerddinner/provide-crud-(create,-read,-update,-delete)-data-form-entry-support – 2012-03-09 16:57:30