ASPMVCEntityFrameworkcore.Updatemanytomanyrelationshiponformpost
创始人
2024-09-20 04:30:48
0
  1. 首先在数据库中创建一个关系表(中间表)以保存多对多关系。
  2. 在模型类中声明关系,例如:
public class Student
{
   public int StudentId { get; set; }
   public string Name { get; set; }

   public ICollection Courses { get; set; }
}

public class Course
{
   public int CourseId { get; set; }
   public string Title { get; set; }

   public ICollection Students { get; set; }
}
  1. 在上述模型中使用 [ForeignKey] 和 [InverseProperty] 属性来指定相应的外键和反向导航属性。确保通过中间表建立正确的多对多关系。
  2. 在视图中使用 @Html.HiddenFor 和 @Html.CheckBoxFor 显示对应关系的数据和状态。
  3. 在控制器中,执行上述关系的更新操作,例如:
[HttpPost]
public IActionResult Edit(int studentId, List selectedCourseIds)
{
    Student student = _context.Students
        .Include(s => s.Courses)
        .Single(s => s.StudentId == studentId);

    student.Courses = new List();
    if (selectedCourseIds != null)
    {
        foreach (int courseId in selectedCourseIds)
        {
            Course course = _context.Courses.Find(courseId);
            student.Courses.Add(course);
        }
    }

    _context.SaveChanges();

    return RedirectToAction("Index");
}
  1. 在更新操作完成后,重定向到合适的视图页面。

相关内容

热门资讯

三分钟分享!广西老友玩有破解码... 三分钟分享!广西老友玩有破解码,湖北卡五星技能(一直真的有挂)-哔哩哔哩1、完成广西老友玩有破解码的...
第6分钟揭幕!蜀山辅助工具,越... 第6分钟揭幕!蜀山辅助工具,越乡游义乌辅助器免费试用(总是是有挂)-哔哩哔哩1、全新机制【越乡游义乌...
第3分钟必备!新世界辅助器,河... 第3分钟必备!新世界辅助器,河洛杠次脚本开发(原来真的是有挂)-哔哩哔哩1)河洛杠次脚本开发辅助挂:...
第十分钟关于!宝宝游戏辅助器,... 第十分钟关于!宝宝游戏辅助器,约战平台辅助(竟然是真的挂)-哔哩哔哩所有人都在同一条线上,像星星一样...
8分钟普及!中至上饶510k有... 8分钟普及!中至上饶510k有没有挂车,多乐辅助器免费版(原来是真的挂)-哔哩哔哩1、全新机制【中至...
第1分钟揭幕!菠萝辅助器1.3... 第1分钟揭幕!菠萝辅助器1.3,微乐陕西三代自建房怎么提高胜率(本来真的有挂)-哔哩哔哩1、玩家可以...
九分钟揭幕!开心泉州辅助,78... 九分钟揭幕!开心泉州辅助,789大菠萝辅助(总是是真的挂)-哔哩哔哩1、完成开心泉州辅助透视辅助安装...
第十分钟外挂!钱塘十三水挂件有... 第十分钟外挂!钱塘十三水挂件有吗,欢聚水鱼辅助视频(总是有挂)-哔哩哔哩1、起透看视 钱塘十三水挂件...
第一分钟科普!如何正确安装广东... 第一分钟科普!如何正确安装广东雀神智能插件,小闲川南宜宾辅助(一贯真的是有挂)-哔哩哔哩如何正确安装...
第6分钟解迷!新二号辅助软件下... 第6分钟解迷!新二号辅助软件下载,海贝之城辅助器(一直是有挂)-哔哩哔哩进入游戏-大厅左侧-新手福利...