C# 保存从另一个表单传递的新实体:“一个实体对象不能被多个IEntityChangeTracker实例引用”

C# 保存从另一个表单传递的新实体:“一个实体对象不能被多个IEntityChangeTracker实例引用”,c#,entity-framework,C#,Entity Framework,因此,当我试图保存从另一个表单传递的新实体时,我收到以下错误消息: 一个实体对象不能被多个IEntityChangeTracker实例引用 表格1: public partial class Form1 : Form { private void ButtonClick(object sender, EventArgs e) { Student X = new Student(); . . // Do some st

因此,当我试图保存从另一个表单传递的新实体时,我收到以下错误消息:

一个实体对象不能被多个IEntityChangeTracker实例引用

表格1:

public partial class Form1 : Form
{
    private void ButtonClick(object sender, EventArgs e)
    {
        Student X = new Student();
        .
        .
        // Do some stuffs for student X
        .
        .
        // Send the student X to Form2
        Form2 Form2 = new Form2(X);
        Form2.ShowDialog();
    }
}
表格2:

public partial class Form2 : Form
{
    public Form2(Student X)
    {
        this.X = X;
        DbContext School = new DbContext();
    }

    Student X;

    private void ButtonClick(object sender, EventArgs e)
    {
        .
        .
        // Do some stuffs for student X
        .
        .
        School.Student.Add(School);
        School.SaveChanges();
    }
}

在将Student X发送到Form2之前,您是否在Form1中创建了一个附加到其上的上下文?事实上,是的,Student的一个导航具有来自另一个dbcontext的引用。