我对这一切都很陌生。我目前正在阅读 ASP.NET 网站上的教程“使用 MVC 开始使用 EF”:(第 6 章)
在教程中,在标题为“将课程作业添加到讲师编辑页面”的部分中,作者写了如何在讲师页面中编辑课程:
public ActionResult Edit(int id)
{
Instructor instructor = db.Instructors
.Include(i => i.OfficeAssignment)
.Include(i => i.Courses)
.Where(i => i.InstructorID == id)
.Single();
PopulateAssignedCourseData(instructor);
return View(instructor);
}
public ActionResult Edit(int id, FormCollection formCollection, string[] selectedCourses)
{
var instructorToUpdate = db.Instructors
.Include(i => i.OfficeAssignment)
.Include(i => i.Courses)
.Where(i => i.InstructorID == id)
.Single();
if (TryUpdateModel(instructorToUpdate, "", null, new string[] { "Courses" }))
{
try
{
if (String.IsNullOrWhiteSpace(instructorToUpdate.OfficeAssignment.Location))
{
instructorToUpdate.OfficeAssignment = null;
}
UpdateInstructorCourses(selectedCourses, instructorToUpdate);
db.Entry(instructorToUpdate).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
catch (DataException)
{
//Log the error (add a variable name after DataException)
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
}
}
PopulateAssignedCourseData(instructorToUpdate);
return View(instructorToUpdate);
}
有人可以告诉我如何使用与作者相同的概念来完成删除和创建操作方法吗?或者,如果您可以将我引导到一个有用的教程/站点,该教程/站点有关与 MVC 中的 EF 的多对多关系,特别是关于如何创建控制器和查看多对多相关数据,类似于上面提到的教程。我是这方面的初学者,但我仍然需要完成工作,所以如果使用的概念一致,这将非常有帮助,这对我来说会更容易。
提前非常感谢!