0
チェックボックスのチェックに基づいて多対多テーブルを更新する方法があります。ここでの多対多の関係は、Exam
エンティティとObjectives
エンティティの間にあります。しかし、私はそれを実装する方法を知らない。Viewモデルで多対多テーブルを更新する方法
コントローラー:コードに示すように
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "id,Date,TotalMarks,ObjList")] ViewModel viewModel)
{
if (ModelState.IsValid)
{
var selectedObj = viewModel.ObjList.Where(o => o.isAssigned == true);
var exam = new Exam()
{
id = viewModel.id,
ExamDate = viewModel.Date,
TotalMarks = viewModel.TotalMarks,
};
if(selectedObj == null)
{
exam.Objectives = new List<Objectives>();
}
//how do i implement this here?
//exam.Objectives.Add(obj)
db.Entry(exam).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(viewModel);
}
、多対多のテーブルの更新はView Model
からObjList
に基づいています。しかし、私はこれらのメソッドはmethod
にmodel
自体を渡しているとしてこれを実装する方法がわからない
exam.Obj.Add(obj);
or
exam.Obj.Remove(obj);
:私は彼らのようなメソッドを使用して、オンラインチュートリアルを参照しました。私の場合ここではに保存する前にexam
変数を作成しなければならないので、viewmodel
をメソッドに渡すことです。
多対多テーブルを更新するにはどうすればよいですか?
'db.Exams.Add(exam);' 'db.Exams.Remove(exam);' –