EF4错误:无法定义两个对象之间的关系,因为它们附加到不同的ObjectContext对象

Die*_*_DX 4 c# linq-to-entities

嗨,我有一个问题,我在vs2010中使用我的网站wscf使用de model MVP(模型,视图,演示者)和我的模型层(数据访问层)iam使用EF

所以我有这个型号http://yfrog.com/mymodelyj

seguimiento的表是cliente和gventa表之间的中间表,所以我在seguimiento的表中插入了我的(DAL LAYER)中的L2E,就像这样

public void InsertarSeguimiento(Seguimiento Seg)
    {
        using (var cont = new CelumarketingEntities())
        {
            cont.AddToSeguimiento(Seg);
            cont.SaveChanges();
        }
    }
Run Code Online (Sandbox Code Playgroud)

并且在我的演示文稿'S层中,我捕获了我的web表单,从文本框中搜索seguimiento的字段当我尝试将对象cliente放到(seguimiento)时我得到这些错误objProxy.ClienteReference.Value
这两个对象之间的关系无法定义因为它们附加到不同的ObjectContext对象. 我不明白为什么因为gventa对象没有那个错误

 protected void BtnInsertar_Click(object sender, EventArgs e)
        {
            string nombreGVentas = TbxVendedor.Text;
            char[] delimit = new char[] { ' ' };
            string[] arreglo = nombreGVentas.Split(delimit);
            GVenta IdGVentas = _presenter.getventas(arreglo[0], arreglo[1]);

            string nombrecliente = TbxCliente.Text;
            Project.CAD.Cliente  idCliente = _presenter.getCliente(nombrecliente);

            string hora = DdlHora.SelectedValue;
            string minutos = DdlMinutos.SelectedValue;

            string HorMin = hora + ":" + minutos;
            Project.CAD.Seguimiento objProxy = new Project.CAD.Seguimiento();

            objProxy.GVentaReference.Value = IdGVentas;
            objProxy.ClienteReference.Value = idCliente;   *// here i get the errors*
            objProxy.Descripccion = TbxDescripccion.Text;
            objProxy.Fecha = Calendar1.SelectedDate;
            objProxy.Hora = HorMin;

             _presenter.insertarseg(objProxy);   
        }
Run Code Online (Sandbox Code Playgroud)

vel*_*koz 5

问题是您的idCliente已经附加到上下文中:

Project.CAD.Cliente  idCliente = _presenter.getCliente(nombrecliente);
Run Code Online (Sandbox Code Playgroud)

因此,当您尝试将其分配给另一个也在其他上下文中的对象(您获得错误的行)时,EF会抛出错误,因为它不知道要放在什么上下文中的对象(它可以属于只有一个背景).

你需要做的是在返回_presenter.getCliente()方法之前从它的上下文中分离idCliente .