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、每一步都需要思考,不同水平的挑战...
玩家必备科技!边锋嘉兴麻将辅助... 玩家必备科技!边锋嘉兴麻将辅助器,微信微乐跑得快游戏辅助脚本,详细教程(有挂教程)1、玩家可以在微信...
据权威媒体报道!aapoker... 据权威媒体报道!aapoker辅助插件工具,智星菠萝可以辅助吗,一直真的有挂(有挂辅助)1、操作简单...
更值得关注的是!约局吧德州有挂... 更值得关注的是!约局吧德州有挂吗,德普之星透视免费,真是确实有挂(新版有挂)1、在德普之星透视免费插...
推荐几款新版!陕西微乐小程序辅... 推荐几款新版!陕西微乐小程序辅助,桂麻圈破解版ios,详细方法(有挂技巧)推荐几款新版!陕西微乐小程...
据通报!拱趴大菠萝作弊方法,德... 据通报!拱趴大菠萝作弊方法,德普辅助器怎么用,好像是真的有挂(有挂规律)1、每一步都需要思考,不同水...
重大通报!决战卡五星看牌器,黑... 重大通报!决战卡五星看牌器,黑科技微乐小程序辅助器免费,详细软件(确实有挂)1)黑科技微乐小程序辅助...
此事备受玩家关注!wepoke... 此事备受玩家关注!wepoker免费辅助器,德扑之星透视软件免费入口官网,竟然真的有挂(有挂细节)1...
我来分享!情怀透明器看手机纸牌... 我来分享!情怀透明器看手机纸牌,钱塘十三水怎么开挂辅助,详细脚本(有挂规律)1、起透看视 钱塘十三水...