我正在开发我的教程项目,我是实体框架的新手。
我有两个很多关系表我正在使用代码首先approuch。
这是表格定义:
StringBuilder
课程表包含3个科目:历史,数学,物理。
我需要删除与某些现有课程相关的学生。
知道如何实施它?
提前谢谢。
答案 0 :(得分:1)
你可以这样做:
using (var ctx = new MyContext())
{
var student1 = ctx.Students.Find(1);
if (student1 != null)
{
foreach (var item in student1.Courses.ToList())
student1.Courses.Remove(item);
ctx.SaveChanges();
}
}
答案 1 :(得分:1)
假设我们希望从关系中删除与数学和历史课程相关的学生。
var relatedStudents = context.Students.Include(x=>x.Courses)
.Where(s=>s.Courses.Any(c=>c.CourseName == "Math" && c.CourseName == "History"))
.ToList();
var math = context.Courses.First(x=>x.CourseName = "Math");
var history = context.Courses.First(x=>x.CourseName = "History");
foreach(Student s in relatedStudents)
{
s.Courses.Remove(math);
s.Courses.Remove(history);
}
context.SaveChanges();