C# LinQ查询,仅提交/插入一条记录
我试图在“MaleTeachers”表中只插入男性教师,但在程序执行后,我在该表中只看到一名教师。此外,我在“Stuff”表中有多个教师,但插入的是最后一个符合“if”条件的教师。请你更正一下这个代码好吗。服务实施:C# LinQ查询,仅提交/插入一条记录,c#,mysql,sql,linq,C#,Mysql,Sql,Linq,我试图在“MaleTeachers”表中只插入男性教师,但在程序执行后,我在该表中只看到一名教师。此外,我在“Stuff”表中有多个教师,但插入的是最后一个符合“if”条件的教师。请你更正一下这个代码好吗。服务实施: public void AddTeachers() { DataClasses1DataContext data = new DataClasses1DataContext(); DataClasses2DataContext data2 = new DataCla
public void AddTeachers()
{
DataClasses1DataContext data = new DataClasses1DataContext();
DataClasses2DataContext data2 = new DataClasses2DataContext();
MaleTeacher tchr = new MaleTeacher();
foreach (var d in data.Stuffs)
{
if (d.stuffSex == true && d.stuffJob == "Teacher")
{
tchr.teacherName = d.stuffName;
tchr.teacherAge = d.stuffAge;
tchr.teacherJob = d.stuffJob;
tchr.teacherDepartm = "geology";
data2.MaleTeachers.InsertOnSubmit(tchr);
}
}
data2.SubmitChanges();
}
您只创建了一个intance,然后一次又一次地修改它。。。相反,每次都应该创建一个不同的
实例
MaleTeacher tchr = new MaleTeacher();
foreach (var d in data.Stuffs)
{
if (d.stuffSex == true && d.stuffJob == "Teacher")
{
tchr.teacherName = d.stuffName;
tchr.teacherAge = d.stuffAge;
tchr.teacherJob = d.stuffJob;
tchr.teacherDepartm = "geology";
data2.MaleTeachers.InsertOnSubmit(tchr);
tchr = new MaleTeacher();
}
}
您只创建了一个intance,然后一次又一次地修改它。。。相反,每次都应该创建一个不同的实例
MaleTeacher tchr = new MaleTeacher();
foreach (var d in data.Stuffs)
{
if (d.stuffSex == true && d.stuffJob == "Teacher")
{
tchr.teacherName = d.stuffName;
tchr.teacherAge = d.stuffAge;
tchr.teacherJob = d.stuffJob;
tchr.teacherDepartm = "geology";
data2.MaleTeachers.InsertOnSubmit(tchr);
tchr = new MaleTeacher();
}
}
每个循环都应该是
foreach (var d in data.Stuffs)
{
if (d.stuffSex == true && d.stuffJob == "Teacher")
{
MaleTeacher tchr = new MaleTeacher();
tchr.teacherName = d.stuffName;
tchr.teacherAge = d.stuffAge;
tchr.teacherJob = d.stuffJob;
tchr.teacherDepartm = "geology";
data2.MaleTeachers.InsertOnSubmit(tchr);
}
}
每个循环都应该是
foreach (var d in data.Stuffs)
{
if (d.stuffSex == true && d.stuffJob == "Teacher")
{
MaleTeacher tchr = new MaleTeacher();
tchr.teacherName = d.stuffName;
tchr.teacherAge = d.stuffAge;
tchr.teacherJob = d.stuffJob;
tchr.teacherDepartm = "geology";
data2.MaleTeachers.InsertOnSubmit(tchr);
}
}
我建议将tchr
声明移动到foreach
循环中。Up是正确的。将MaleTeach移动到foreach循环中。YY您只插入了最后一个教师。为了清楚起见,您可以使用data2.MaleTeachers.InsertOnSubmit(New MaleTeacher(){…});我建议将tchr
声明移动到foreach
循环中。Up是正确的。将MaleTeach移动到foreach循环中。YY您只插入了最后一个教师。为了清楚起见,您可以使用data2.MaleTeachers.InsertOnSubmit(New MaleTeacher(){…});