在MVC5项目中,有几个主/详细实体如下所示的组/学生:
public class Group
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
//Navigation Properties
public virtual ICollection<GroupStudent> GroupStudents { get; set; }
}
public class GroupStudent
{
[Key]
public int Id { get; set; }
//Foreign key for Group
public int GroupId { get; set; }
//Foreign key for Student
public int StudentId { get; set; }
//Navigation Properties
public virtual Group Group { get; set; }
public virtual Student Student { get; set; }
}
public class Student
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
//Navigation Properties
public virtual ICollection<GroupStudent> GroupStudents { get; set; }
}
我为两者创建了一个新的Controller:Group和Student,并在相关的控制器中定义了List,Create,Details和Edit方法。另一方面,我需要进行主/细节操作,即将学生分配给小组。在此步骤中,由于以下情况,我不确定有关此问题的良好方法:
我应该为这些主/细节操作创建一个新的Controller(即GroupStudentController)吗?或者我应该在StudentController或GroupController中创建必要的方法?关于这种主/细节操作的真正惯例是什么?
答案 0 :(得分:1)
无需创建额外的控制器,只需在任何现有控制器中创建方法,并根据所需方法的业务需求选择控制器。
例如:如果你有一个方法应该将学生分配到一个小组,这个动作将从学生列表页面完成,然后在学生控制器中进行,如果你有一个将从组列表中弹出的页面管理所选组的学生,然后在组控制器中进行。
让您的业务发展。