我有两个学生和主管的对象,具有多对多关系。
我手动创建了一个联结类,因为我需要存储一个名为TagMainOrCo的属性(指示主管是Main / Co)。
一名学生只能有2名主管,一名主管可以在他们的监督下拥有无限的学生。
这是我的代码段:
学生:
public class Student
{
public int Id { get; set; }
public string MatricNo { get; set; }
// Other properties
public virtual IList<SupervisorStudents> Supervisors { get; set; }
}
监:
public class Supervisor
{
public int Id { get; set; }
public string StaffNumber { get; set; }
// Other properties
public virtual ICollection<SupervisorStudents> Students { get; set; }
}
交汇表(SupervisorStudents):
public class SupervisorStudents
{
[Key, Column(Order = 0)]
public int SupervisorId { get; set; }
[Key, Column(Order = 1)]
public int StudentId { get; set; }
public string TagMainOrCo { get; set; }
public virtual Supervisor Supervisor { get; set; }
public virtual Student Student { get; set; }
}
所以,我在创建学生视图中想要做的是;
到目前为止,我正在使用HtmlHelpers传递数据。至于StudentController,要保存学生数据:
public ActionResult Save(Student student)
{
if (!ModelState.IsValid)
{
var viewModel = new StudentRegistrationViewModel
{
Student = student,
Courses = _context.Courses.ToList(),
Faculties = _context.Faculties.ToList(),
Semesters = _context.Semesters.ToList(),
SupervisorStudentses = _context.StudentSupervisors.ToList()
};
return View("StudentRegistrationForm", viewModel);
}
// If new students
if (student.Id == 0)
{
_context.Students.Add(student);
}
// Other Logics
}
无论如何不使用jQuery或AJAX实现这一目标?任何形式的反馈都非常感谢!非常感谢你!