Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LinQ查询,仅提交/插入一条记录_C#_Mysql_Sql_Linq - Fatal编程技术网

C# LinQ查询,仅提交/插入一条记录

C# LinQ查询,仅提交/插入一条记录,c#,mysql,sql,linq,C#,Mysql,Sql,Linq,我试图在“MaleTeachers”表中只插入男性教师,但在程序执行后,我在该表中只看到一名教师。此外,我在“Stuff”表中有多个教师,但插入的是最后一个符合“if”条件的教师。请你更正一下这个代码好吗。服务实施: public void AddTeachers() { DataClasses1DataContext data = new DataClasses1DataContext(); DataClasses2DataContext data2 = new DataCla

我试图在“MaleTeachers”表中只插入男性教师,但在程序执行后,我在该表中只看到一名教师。此外,我在“Stuff”表中有多个教师,但插入的是最后一个符合“if”条件的教师。请你更正一下这个代码好吗。服务实施:

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(){…});