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. 在更新操作完成后,重定向到合适的视图页面。

相关内容

热门资讯

第十分钟辅助!wepoker透... 第十分钟辅助!wepoker透视脚本免费下载,约局吧作弊脚本,操作教程(有挂秘籍)1、全新机制【we...
4分钟辅助!wepoker透视... 4分钟辅助!wepoker透视脚本免费,pokemmo手机脚本,讲义教程(揭秘有挂)wepoker透...
第九分钟辅助!newpoker... 第九分钟辅助!newpoker怎么安装脚本,pokemmo手机辅助软件,方案教程(有挂技巧)1、该软...
第3分钟辅助!wepoker怎... 第3分钟辅助!wepoker怎么提高运气,德州之星扫描器,模板教程(有挂技巧)1、在wepoker怎...
第4分钟辅助!wpk模拟器是什... 第4分钟辅助!wpk模拟器是什么,aapoker透视插件,方针教程(有挂攻略)该软件可以轻松地帮助玩...
第一分钟辅助!德州私人局脚本,... 第一分钟辅助!德州私人局脚本,hhpoker免费辅助器,方案教程(有挂规律)1、金币登录送、破产送、...
三分钟辅助!hh poker透... 三分钟辅助!hh poker透视器下载,wepoker透视脚本,练习教程(有挂头条)所有人都在同一条...
第六分钟辅助!hh poker... 第六分钟辅助!hh poker软件,hhpoker是真的还是假的,阶段教程(有挂攻略)1、完成hhp...
第七分钟辅助!pokemmo手... 第七分钟辅助!pokemmo手机版脚本,wepoker俱乐部辅助,机巧教程(存在有挂)1、这是跨平台...
第四分钟辅助!wepoker有... 第四分钟辅助!wepoker有辅助插件吗,wepoker免费脚本,窍门教程(有挂解惑)1.wepok...