【发布时间】:2021-05-28 21:25:44
【问题描述】:
我正在使用 foreach 循环将值插入数据库。我有两个学生在六年级和六个科目的同一班。当我运行它时,它只为所有学生上传一门科目,我想填充所有六年级学生的科目...我的代码在哪里需要迭代?
var source = context.Students.Include("ClassRoom").Where(x => x.ClassRoom.ClassName == searchLookUpEdit4.Text).ToList();
Evaluation ev = new Evaluation();
var source1 = context.Subjects.Include("ClassRoom").Where(x => x.ClassRoom.ClassName == searchLookUpEdit4.Text).ToList();
foreach (var stud in source)
{
ev.StudentId = stud.Id;
foreach (var sub in source1)
{
ev.SubjectId = sub.Id;
}
ev.TermId = Convert.ToInt32(searchLookUpEdit2.EditValue);
ev.ObtainedMarks = 0;
ev.Grades = "";
ev.Remarks = "";
context.Evaluations.Add(ev);
context.SaveChanges();
}
【问题讨论】:
-
只是一个提示,你不应该复制粘贴你不懂的代码。上面的代码告诉我你有一些高级的编程知识,下面的部分表明你还没有掌握基本的知识。
-
我看到一个问题,似乎一个学生当然可以拥有多个科目,但是您的嵌套循环正在重新分配下一个科目,您没有添加另一个科目,您已经结束了- 写上一个。
ev.SubjectId可能需要您添加到某种形式的集合中。
标签: c# winforms ef-code-first entity