C# 如何自动增加参加特定课程的学生人数?

C# 如何自动增加参加特定课程的学生人数?,c#,asp.net-mvc,C#,Asp.net Mvc,我正在创建一个简单的学生应用程序,希望表中的一行显示参加特定课程的学生人数(即,每次我批准某个应用程序时,参加该课程的学生人数应自动增加1)。我什么都试过了,sessions,linq,但没能做到。以下是我的一些代码,欢迎提出任何建议: public class Student { [Key] public int Id { get; set; } public string FirstName { get; set; } public string LastNa

我正在创建一个简单的学生应用程序,希望表中的一行显示参加特定课程的学生人数(即,每次我批准某个应用程序时,参加该课程的学生人数应自动增加1)。我什么都试过了,sessions,linq,但没能做到。以下是我的一些代码,欢迎提出任何建议:

public class Student
{
    [Key]
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; } 
    public string Address { get; set; }
    public string Email { get; set; }
    public string Telephone { get; set; }
    public string Status { get; set; }
    public int IdCourse { get; set; }
    public Course Course { get; set; }
}


public class Course
{
    [Key]
    public int Id { get; set; }
    public string Title { get; set; }
    public int NumberOfStudents { get; set; }
    public ICollection<Student> Student { get; set; }
}


    public ActionResult Index()
    {
        return View(db.Student.Include(b => b.Course).ToList());
    }



@using StudentCourse.Models
@model List<Student>
@{
ViewBag.Title = "Index";
}

 <table>
      <tr>
                <th>Title</th>
                <th>NumberOfStudents</th>    
            </tr>
            @foreach (var item in Model)
            {
        <tr>
            <td>@item.Course.Title<td>
            <td>@item.Course.NumberOfStudents</td>
        </tr>
            }
        </table>
批准的申请数量应以自动递增的方式显示在:

<td>@item.Course.NumberOfStudents</td>
@item.Course.NumberOfStudents

您的代码不完整,但如果我得到了您想要的,请执行以下操作:

  • 在视图中单击“接受”按钮时
  • 将当前课程ID解析为它,然后将其路由到控制器方法
  • 当它到达那里时,你可以收集发送的课程ID
  • 然后从数据库中获取特定的课程
  • 获取当前的学生数,转换为int(如果需要),增加它,然后更新数据库中获取的行

  • 您可以通过如下方式在学生的集合部分更新学生人数来保持更新:

    public class Course
    {
        private ICollection<Student> _students;
    
        public int Id { get; set; }
        public string Title { get; set; }
        public int NumberOfStudents { get; set; }
    
        public ICollection<Student> Students
        {
            get
            {
                return _students;
            }
            set
            {
    
                _students = value;
                NumberOfStudents = _students?.Count ?? 0;
            }
        }
    }
    
    公共课
    {
    私立i学院学生;
    公共int Id{get;set;}
    公共字符串标题{get;set;}
    公共int NumberOfStudents{get;set;}
    公共信息学院学生
    {
    收到
    {
    返回学生;
    }
    设置
    {
    _学生=价值观;
    NumberOfStudents=_students?.Count±0;
    }
    }
    }
    

    这意味着您不需要将信息保存到数据库来更新numberOfStudents。您还可以在NumberOfStudents的get部分执行students的Count属性

    对不起,学生课堂中的翻译、公共int IdCourse有错误。如果您不想对问题中的拼写错误发表评论,您应该编辑问题以纠正错误。问题下方有一个编辑链接。@are Labud您可以编辑您的问题以更正您在编写问题时犯的任何错误。我这样做了,对不起,我是c#mvc的新手,但非常热情:)tnx会尝试的你能给我写些代码,只是为了适应环境吗?当然,我现在正在工作。我将获得每个步骤的代码,并将它们写在这里。您是否使用Entityframework或Nhibernate作为ORM?tnx非常感谢您的帮助@阿雷拉布很乐意帮忙
    public class Course
    {
        private ICollection<Student> _students;
    
        public int Id { get; set; }
        public string Title { get; set; }
        public int NumberOfStudents { get; set; }
    
        public ICollection<Student> Students
        {
            get
            {
                return _students;
            }
            set
            {
    
                _students = value;
                NumberOfStudents = _students?.Count ?? 0;
            }
        }
    }