我应该在asp.net MVC中为主/细节操作创建一个新的控制器吗?

本文关键字:一个 控制器 创建 操作 MVC net asp 细节 我应该 | 更新日期: 2023-09-27 18:09:27

在MVC5项目中,有几个主/详细实体,如下所示为Group/Student:

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; }
}

我创建了一个新的控制器:组和学生和定义列表,创建,详细信息和编辑方法和视图在相关的控制器。另一方面,我需要进行主/细节操作,即将学生分配给组。在这一步,由于以下情况,我不确定关于这个问题的好方法:

我应该创建一个新的控制器(即GroupStudentController)为了这些主/细节操作?或者我应该在StudentController或GroupController中创建必要的方法吗?对于这种主/细节操作,真正的惯例是什么?

我应该在asp.net MVC中为主/细节操作创建一个新的控制器吗?

无需创建额外的控制器,只需在任何现有控制器中创建一个方法,并根据所需方法的业务需要选择控制器。

示例:如果你有一个方法应该分配一个学生到一个组,这个动作将从学生列表页面完成,然后把它放在学生控制器中,如果你有一个页面,将从组列表中弹出来管理所选组的学生,然后把它放在组控制器中。

让你的业务驱动。